CSS Pulsuz, qeydiyyatsız

Flexbox generatoru və playground

Konteynerin və seçilmiş elementin flex xassələrini dəyişin — nəticə dərhal önizləmədə görünür, aşağıda isə hazır CSS kodu yenilənir.

Nəticə
Hazır CSS kodu
.container {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 8px;
}

Necə istifadə etmək olar

  1. Konteyner bölməsində flex-direction, flex-wrap, justify-content, align-items, align-content və gap dəyərlərini seçin. Element sayını «−» və «+» düymələri ilə 1-dən 8-ə qədər dəyişin.
  2. Önizləmədə istənilən elementə klikləyin (və ya klaviaturada Tab və Enter ilə seçin) — həmin elementin flex-grow, flex-shrink, flex-basis, align-self və order sahələri açılır.
  3. Oxlara fikir verin: justify-content əsas ox boyunca, align-items isə köndələn ox boyunca işləyir; flex-direction bu oxların istiqamətini dəyişir.
  4. «Kopyala» düyməsini basın. Kod .container qaydasını və yalnız standart olmayan dəyəri olan elementlər üçün .item:nth-child(N) qaydalarını ehtiva edir.

Bu necə işləyir

Konteyner və elementlər

display: flex yazılan element flex konteynerə çevrilir, onun birbaşa uşaqları isə flex elementlər olur. Ümumi qaydaları konteyner təyin edir (flex-direction, justify-content, align-items, gap), hər elementin davranışını isə onun öz xassələri tənzimləyir (flex-grow, flex-basis, align-self, order).

.container {
  display: flex;
  gap: 8px;
}

Əsas ox və köndələn ox

flex-direction: row olduqda əsas ox soldan sağa, köndələn ox isə yuxarıdan aşağıya gedir; column olduqda oxlar yerini dəyişir. justify-content elementləri əsas ox boyunca paylayır (flex-start, center, space-between, space-evenly), align-items isə köndələn ox boyunca düzləyir. align-items-in standart dəyəri stretch-dir: elementlər köndələn ox üzrə konteynerin ölçüsünə qədər uzanır.

.container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

flex-grow, flex-shrink və flex-basis

flex-basis elementin başlanğıc ölçüsüdür (auto olduqda width və ya məzmun nəzərə alınır). Konteynerdə boş yer qalarsa, flex-grow onu elementlər arasında nisbətlə bölür; yer çatmazsa, flex-shrink elementləri sıxır. flex-grow: 0 olan element boş yeri götürmür, flex-shrink: 0 olan isə kiçilmir.

.item {
  flex: 1 1 200px; /* grow shrink basis */
}

flex-wrap, gap və align-content

Standart flex-wrap: nowrap bütün elementləri bir sətirdə saxlayır və lazım gələrsə sıxır. wrap ilə elementlər yeni sətirə keçir. Bir neçə sətir yarananda align-content həmin sətirlərin konteyner daxilində necə paylanacağını təyin edir; tək sətirli konteynerdə onun təsiri yoxdur. Elementlər arasındakı məsafə üçün margin əvəzinə gap yazın — kənarlarda artıq boşluq qalmır.

align-self və order

align-self yalnız bir elementin köndələn ox üzrə düzülüşünü align-items-dən fərqli edir. order elementlərin yerini HTML-i dəyişmədən vizual olaraq dəyişir (standart 0, kiçik dəyər əvvəl gəlir). Yadda saxlayın: order yalnız görünüşə təsir edir, Tab ardıcıllığı və ekran oxuyucular HTML ardıcıllığına əməl edir.

.item:nth-child(2) {
  align-self: flex-end;
  order: -1;
}

Tez-tez verilən suallar

justify-content ilə align-items arasında fərq nədir?

justify-content elementləri əsas ox boyunca, align-items isə köndələn ox boyunca düzür. flex-direction: column yazdıqda oxlar dəyişir, ona görə justify-content şaquli, align-items isə üfüqi işləməyə başlayır.

Niyə align-content işləmir?

align-content yalnız elementlər bir neçə sətrə bölünəndə işləyir: flex-wrap: wrap lazımdır və konteynerdə sətirlərdən artıq boş yer olmalıdır (məsələn, hündürlük verilməlidir). Tək sətirli konteynerdə align-items istifadə edin.

`flex: 1` nə deməkdir?

flex: 1 yazılışı flex: 1 1 0% ilə eynidir: element boş yeri bölüşür, sıxıla bilər və başlanğıc ölçüsü sıfırdır. Bir neçə elementə flex: 1 versəniz, onlar boş yeri bərabər paylaşacaq.

Flexbox-da gap bütün brauzerlərdə işləyirmi?

Bəli, gap flexbox üçün bütün müasir brauzerlərdə dəstəklənir (Safari-də 14.1 versiyasından). Köhnə brauzerləri nəzərə almırsınızsa, elementlər arasındakı məsafə üçün margin hiylələrinə ehtiyac yoxdur.

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. CSS Grid generatoru Sütun və sətir ölçülərini seçin, boşluğu və düzləməni tənzimləyin, hazır grid kodunu kopyalayın. 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