CSS Pulsuz, qeydiyyatsız

CSS aspect-ratio və object-fit generatoru

Şəkilləriniz eninə-uzununa dartılaraq təhrif olunur, yaxud yüklənərkən səhifədə sıçrayış (CLS) yaradır? Müasir aspect-ratio və object-fit: cover xassələri ilə proporsiyaları qoruyun və interaktiv fokus nöqtəsini tənzimləyin.

Nəticə
Hazır CSS kodu
/* Müasir responsiv media bloku */
.media-card {
  width: 100%;
  max-width: 480px;
  aspect-ratio: 16 / 9; /* Sıfır CLS sıçrayışı */
  overflow: hidden;
  border-radius: 12px;
}

.media-card img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Təhrif olmadan kəsilir */
  object-position: 50% 50%; /* Fokus mərkəzi */
}

Necə istifadə etmək olar

  1. Hazır proporsiya şablonlarından birini seçin (16:9 video, 1:1 kvadrat, 4:3 foto, 9:16 Shorts və ya 21:9 enli ekran).
  2. object-fit rejimini dəyişin (cover, contain, fill, none) və şəklin blok daxilində necə davrandığını izləyin.
  3. Şəklin üzərinə klikləyərək və ya nişangahı sürükləyərək object-position fokus mərkəzini (məsələn, 30% 70%) təyin edin.
  4. Konteynerin enini və hündürlüyünü dəyişin, CLS diaqnostikasını yoxlayın və hazır CSS kodunu kopyalayın.

Bu necə işləyir

aspect-ratio nədir və niyə vacibdir?

aspect-ratio xassəsi elementin eni və hündürlüyü arasında sabit nisbət saxlayır (məsələn, aspect-ratio: 16 / 9). Əvvəllər bunun üçün mürəkkəb padding-top: 56.25% «padding hack» üsulundan istifadə olunurdu. Müasir aspect-ratio tək sətirlə brauzerə elementin hündürlüyünü dərhal hesablamağa imkan verir.

Sıfır CLS (Cumulative Layout Shift) sirri

Şəkil şəbəkədən gec yükləndikdə əgər onun hündürlüyü məlum deyilsə, yükləndiyi an altındakı bütün mətnləri aşağı itələyir və pis istifadəçi təcrübəsi (yüksək CLS balı) yaradır. Konteynerə aspect-ratio verməklə brauzer şəkil yüklənməmişdən əvvəl onun yerini tam dəqiq rezervasiya edir.

/* Şəkil yüklənməsə belə, yer dərhal rezerv olunur */
.hero-img {
  width: 100%;
  aspect-ratio: 16 / 9;
}

object-fit və object-position təyinatı

object-fit: cover şəkli konteynerin bütün sahəsinə yayır və proporsiyasını pozmadan artıq qalan kənarları kəsir (background-size: cover kimi). object-position isə kəsilmə zamanı şəklin hansı vacib hissəsinin (məsələn, insanın üzünün) mərkəzdə qalacağını müəyyənləşdirir.

.avatar {
  width: 80px;
  height: 80px;
  object-fit: cover;
  object-position: center top; /* Üz kəsilmir */
}

Tez-tez verilən suallar

object-fit: fill ilə cover arasındakı fərq nədir?

fill şəkli konteynerin ölçüsünə uyğun məcburi dartır və insan sifətləri və ya obyektlər sıxılmış / deformasiyaya uğramış görünür. cover isə orijinal proporsiyanı tam qoruyur, sadəcə kənarları kəsir.

aspect-ratio bütün müasir brauzerlərdə işləyirmi?

Bəli, Chrome, Safari, Firefox və Edge brauzerlərinin bütün cari və son illərdəki versiyalarında tam dəstəklənir (95%+ qlobal dəstək).

Responsive videolarda necə tətbiq olunur?

İframe və ya <video> teqinə width: 100%; aspect-ratio: 16 / 9; height: auto; vermək kifayətdir; video bütün ekranlarda proporsional kiçilib böyüyəcək.

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