CSS Pulsuz, qeydiyyatsız

CSS Grid generatoru

Sütun və sətirlərin sayını, ölçülərini və aralarındakı boşluğu seçin — şəbəkə önizləmədə dərhal dəyişir, aşağıda isə hazır grid CSS kodu görünür.

Nəticə
Hazır CSS kodu
.grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 12px;
}

Necə istifadə etmək olar

  1. «Sütunlar» və «Sətirlər» bölmələrində saylarını seçin (ən çoxu 6 sütun və 4 sətir), sonra hər biri üçün ölçü seçin: 1fr, 2fr, auto, 100px, 200px və ya minmax(100px, 1fr).
  2. column-gap və row-gap ilə xanalar arasındakı məsafəni, justify-items və align-items ilə xananın öz sahəsində düzülüşünü tənzimləyin.
  3. Önizləmədə nömrələnmiş xanaya klikləyin (və ya klaviaturada Tab və Enter) və grid-column: span ilə grid-row: span vasitəsilə onu bir neçə sütuna və ya sətrə yayın.
  4. Responsiv şəbəkə lazımdırsa, «Responsiv» qutusunu işarələyin: sütunlar repeat(auto-fill, minmax(…px, 1fr)) ilə yaranır və enə görə özü düzülür. «Kopyala» düyməsi ilə kodu götürün.

Bu necə işləyir

grid-template-columns və grid-template-rows

display: grid verilmiş element şəbəkəyə çevrilir. grid-template-columns sütunların enini, grid-template-rows isə sətirlərin hündürlüyünü təyin edir; hər dəyər bir «trek»dir (xəttlər arasındakı zolaq). Trekləri piksellə, faizlə, auto ilə və ya fr vahidi ilə vermək olar. Generator eyni ölçülü trekləri avtomatik repeat() ilə qısaldır.

.grid {
  display: grid;
  grid-template-columns: 200px 1fr 1fr;
  grid-template-rows: auto 1fr;
}

fr vahidi və repeat()

1fr konteynerdə qalan boş yerin bir payıdır. 1fr 2fr olduqda ikinci sütun birincidən iki dəfə enli olur; sabit ölçülər (200px) və boşluqlar əvvəlcə çıxılır, qalanı fr arasında bölünür. repeat(3, 1fr) isə üç bərabər sütunu qısa yazmaq deməkdir. minmax(100px, 1fr) trekə minimum ölçü verir: sütun 100px-dən dar olmur, yer olduqda genişlənir.

.grid {
  grid-template-columns: repeat(3, 1fr);
}

gap, justify-items və align-items

gap (yəni row-gap və column-gap) trekləri bir-birindən ayırır, kənarlarda isə boşluq yaratmır. justify-items xananın içindəki elementi üfüqi, align-items isə şaquli düzür. Standart dəyər stretch-dir: element bütün xananı doldurur. start, end və center isə elementi öz məzmununun ölçüsünə qədər kiçildir.

.grid {
  gap: 12px 24px; /* row-gap column-gap */
  justify-items: center;
  align-items: start;
}

Bir neçə sütuna və sətrə yayılmaq (span)

grid-column: span 2 elementin iki sütun tutmasını bildirir, grid-row: span 2 isə iki sətir. Qalan elementlər avtomatik yerləşdirmə ilə sonrakı boş xanalara keçir. Yayılan elementlər səbəbindən əvvəlcədən təyin etdiyiniz sətirlər çatmazsa, brauzer əlavə «gizli» sətirlər yaradır; onların hündürlüyünü grid-auto-rows ilə idarə edirlər.

.item:nth-child(1) {
  grid-column: span 2;
  grid-row: span 2;
}

Mediasorğusuz responsiv şəbəkə

repeat(auto-fill, minmax(140px, 1fr)) sütunların sayını konteynerin enindən asılı olaraq özü seçir: hər sütun ən azı 140px olur və qalan yer onlar arasında bölünür. Beləcə kartlar kiçik ekranda aşağı düşür, @media yazmağa ehtiyac qalmır. auto-fill boş trekləri saxlayır, auto-fit isə onları yığışdırır və mövcud elementləri genişləndirir.

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 12px;
}

Tez-tez verilən suallar

fr vahidi nədir?

fr (fraction) konteynerdə qalan boş yerin payıdır. Sabit ölçülər və gap çıxıldıqdan sonra qalan yer fr dəyərləri nisbətində bölünür: 1fr 2fr ikinci sütunu birincidən iki dəfə enli edir.

auto-fill ilə auto-fit arasında fərq nədir?

Elementlər sətri doldurmayanda auto-fill boş trekləri saxlayır, ona görə elementlər genişlənmir. auto-fit boş trekləri sıfıra endirir və mövcud elementlər boş yeri tutmaq üçün uzanır. Sətir tam dolu olanda fərq görünmür.

Grid-i nə vaxt, Flexbox-u nə vaxt seçmək lazımdır?

Flexbox birölçülüdür: elementləri bir sətirdə və ya bir sütunda düzmək üçün yaxşıdır. Grid ikiölçülüdür: sətir və sütunları eyni anda idarə etmək lazım olanda, məsələn səhifə maketində və ya kart şəbəkəsində əlverişlidir. Bunlar bir-birini istisna etmir, tez-tez birlikdə işlədilir.

Niyə şəbəkədə əlavə sətir yarandı?

Əgər elementlər grid-template-rows-da təyin etdiyiniz sətirlərə sığmırsa (məsələn, bir element bir neçə xana tutursa), brauzer «gizli» sətirlər əlavə edir. Onların hündürlüyünü grid-auto-rows ilə təyin edə bilərsiniz.

HTML və CSS kursunda bu mövzu

Digər CSS alətləri

CSS gradient generatoru Linear, radial və conic gradient: rəngləri, bucağı və nöqtələri seçin, hazır kodu kopyalayın. Flexbox generatoru və playground Konteyner və elementlərin flex xassələrini sınayın: istiqamət, düzləmə, boşluq və hazır CSS. CSS box-shadow generatoru Kölgənin yerini, bulanıqlığını, rəngini və laylarını seçin, hazır box-shadow kodunu kopyalayın. Cubic-bezier generatoru Easing əyrisinin nöqtələrini sürüşdürün və hazır CSS transition kodunu kopyalayın. SVG animasiya generatoru Forma və effekt seçin — səhifəyə yapışdırmaq üçün hazır SVG və CSS keyframes alın. CSS specificity kalkulyatoru Seçiciləri yazın — (a,b,c) ağırlığını, rəngli təhlilini və hansı qaydanın qalib gəldiyini görün. CSS box model vizualizatoru Content, padding, border və margin-i DevTools tipli sxemdə görün və hazır CSS kodunu alın. CSS transform generatoru Elementi sürüşdürün, fırladın, böyüdün və əyin: ilkin mövqe önizləmədə görünür, kod hazırdır. CSS clamp() kalkulyatoru Min və maks şrift ölçüsünü və ekran enini yazın — axıcı tipoqrafika üçün hazır clamp() alın. Rəng kontrastı yoxlayıcısı (WCAG) Mətn və fon rənginin kontrastını WCAG AA və AAA üzrə yoxlayın, uyğun gəlməyən cütü düzəldin. CSS clip-path generatoru Poliqon, dairə, ellips və kəsilmiş künclər: nöqtələri sürüşdürün və hazır CSS kodunu kopyalayın. CSS Glassmorphism generatoru Mat şüşə effekti: backdrop-filter blur, şəffaflıq, kənar işığı və hazır CSS kodu. CSS border-radius (Blob) generatoru Üzvi formalar və 8 dəyərli border-radius: radiusları sürüşdürün, canlı blob animasiyasını yoxlayın. CSS Stacking Context və z-index vizualizatoru z-index: 9999 niyə işləmir? 3D laylar görünüşü ilə CSS Stacking Context mexanizmini və səbəblərini vizual öyrənin. CSS aspect-ratio və object-fit generatoru Şəkillərin deformasiyasına və CLS sıçrayışlarına son: aspect-ratio proporsiyaları və object-fit fokus nöqtəsi canlı. CSS Filtr Studiyası və generatoru Qrafik redaktorsuz foto effektləri: blur, contrast, hue-rotate, sepia və Instagram üslublu hazır presətlər. OKLCH rəng generatoru və palitrası Göz üçün bərabər parlaqlıq və Display P3 canlı rənglər: OKLCH konvertasiyası, qradasiya və harmonik palitralar. CSS Scroll-driven Animations generatoru JavaScript olmadan skroll animasiyaları: animation-timeline scroll() və view() ilə oxuma lenti və kartların açılması. CSS Container Queries (@container) generatoru Media sorğularına son: komponent ekran ölçüsünə deyil, öz konteynerinin eninə uyğunlaşır. Canlı ölçü dəyişmə və @container qaydaları.
WhatsApp