CSS Pulsuz, qeydiyyatsız

CSS box model vizualizatoru

width, height, padding, border və margin-i dəyişin — sxemdə qutunun bütün qatları görünür, aşağıdakı hesablama isə elementin əslində nə qədər enli olduğunu göstərir. Hazır CSS önizləmənin altında çıxır.

Nəticə
Hazır CSS kodu
.box {
  box-sizing: content-box;
  width: 200px;
  height: 120px;
  padding: 20px;
  border: 5px solid;
  margin: 20px;
}

Necə istifadə etmək olar

  1. width və height təyin edin, sonra box-sizing-i content-box ilə border-box arasında dəyişin və yekun ölçünün necə dəyişdiyinə baxın.
  2. padding, border və margin-i tənzimləyin. Yuxarı, sağ, aşağı və solu ayrıca təyin etmək üçün «Bütün tərəflər birlikdə» işarəsini götürün.
  3. Sxemin altındakı hesablamaya baxın: yekun en və hündürlüyün nədən yarandığını göstərir.
  4. «Kopyala» düyməsini basın və .box qaydasını öz CSS faylınıza yapışdırın.

Bu necə işləyir

Hər qutunun dörd qatı

Hər element içdən çölə doğru dörd qatdan ibarət düzbucaqlıdır: content (mətn və daxili elementlər), padding (məzmunla haşiyə arasındakı daxili boşluq), border (haşiyə) və margin (qonşu elementlərə qədər şəffaf xarici boşluq). Fon content, padding və border-in altını rəngləyir, lakin margin-in altına keçmir.

content-box və border-box

Susmaya görə box-sizing: content-box işləyir: width və height yalnız məzmunu təyin edir, padding və border isə üstünə əlavə olunur. Buna görə padding: 20px və border: 5px ilə width: 200px eni 250px olan blok verir. box-sizing: border-box ilə eyni width padding və border-i də əhatə edir, kiçilən isə məzmun olur. Ona görə əksər layihələr belə sıfırlama ilə başlayır:

*, *::before, *::after {
  box-sizing: border-box;
}

Qısa yazılış: 1, 2, 3 və ya 4 dəyər

padding, margin və border-width saat əqrəbi istiqamətində dörd dəyərə qədər qəbul edir: yuxarı, sağ, aşağı, sol. Bir dəyər bütün tərəflər, iki dəyər şaquli və üfüqi, üç dəyər yuxarı, üfüqi və aşağı deməkdir. Generator 1, 2 və ya 4 dəyərdən ibarət ən qısa formanı yazır.

margin: 10px 20px 30px 40px; /* yuxarı sağ aşağı sol */
margin: 10px 20px; /* şaquli üfüqi */

Margin-in birləşməsi (collapsing)

Qonşu blokların şaquli margin-ləri birləşir: birinin margin-bottom: 30px, növbətinin margin-top: 20px olarsa, məsafə 50px yox, daha böyük olan 30px olur. Valideynin margin-i də, onları heç nə ayırmırsa (padding, border və ya məzmun yoxdursa), ilk və ya son uşağın margin-i ilə birləşə bilər. Üfüqi margin-lər, eləcə də flex və grid elementlərinin margin-ləri birləşmir.

.a { margin-bottom: 30px; }
.b { margin-top: 20px; }
/* .a və .b arasındakı məsafə = 30px */

Tez-tez verilən suallar

content-box ilə border-box arasında fərq nədir?

content-box-da width yalnız məzmunun enidir, ona görə padding və border elementi enli edir. border-box-da width haşiyənin sonuna qədər bütün qutunun enidir, buna görə nə qədər padding əlavə etsəniz də elementin ölçüsü dəyişmir.

Niyə element təyin etdiyim width-dən enlidir?

Çox güman ki, box-sizing content-box-dır və padding ilə border enə əlavə olunur. width: 100% və padding: 20px olan blok valideynindən 40px kənara çıxır. box-sizing: border-box yazın — problem aradan qalxır.

Margin-lər toplanırmı?

Həmişə yox. Qonşu blokların şaquli margin-ləri böyük olana qədər birləşir, üfüqi margin-lər və flex ya grid elementlərinin margin-ləri isə toplanır. Sxem tək elementin margin qutusunu göstərir, buna görə orada birləşmə görünmür.

padding yoxsa margin seçməli?

padding elementin daxilindəki boşluq üçündür: fonun altında qalır və kliklənən sahəyə daxildir. margin elementlər arasındakı məsafə üçündür: həmişə şəffafdır. Hər ikisində faiz dəyərləri valideyn blokun enindən hesablanır.

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 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 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