Bugün kullanabileceğiniz, güçlü ve kararlı CSS'ler.
Her ön uç geliştiricinin kapsayıcı sorgularını kullanmayı, kaydırma yakalama deneyimi oluşturmayı, grid ile position: absolute sorununu önlemeyi, hızlıca daire oluşturmayı, basamaklı katmanları kullanmayı ve mantıksal özellikler aracılığıyla daha az kaynakla daha fazla kullanıcıya ulaşmayı bilmesi gerektiğine inanıyorum. Bu beklentilerin her biriyle ilgili kısa bir genel bakış aşağıda verilmiştir.
1. Kapsayıcı sorgusu
10 yıldır en çok istenen CSS özelliği, tarayıcılarda artık kararlı ve 2023'te genişlik sorguları için kullanıma hazır.
.panel {
container: layers-panel / inline-size;
}
.card {
padding: 1rem;
}
@container layers-panel (min-width: 20rem) {
.card {
padding: 2rem;
}
}
2. Kaydırarak tutturma
İyi düzenlenmiş kaydırma deneyimleri, deneyiminizi diğerlerinden ayırır. Kaydırma yakalama, anlamlı durma noktaları sağlarken sistem kaydırma kullanıcı deneyimine uygun bir yöntemdir.
.snaps {
overflow-x: scroll;
scroll-snap-type: x mandatory;
overscroll-behavior-x: contain;
}
.snap-target {
scroll-snap-align: center;
}
.snap-force-stop {
scroll-snap-stop: always;
}
Bu CSS özelliğinin potansiyeli hakkında daha fazla bilgiyi yaklaşık 25 demodan oluşan bu büyük ve ilham verici Codepen koleksiyonunda bulabilirsiniz.
scroll-snap-typescroll-snap-alignscroll-snap-stopoverscroll-behavior3. Izgara yığını
Tek hücreli CSS ızgarasında mutlak konumlandırmadan kaçının. Öğeler üst üste yığıldıktan sonra konumlandırmak için justify ve align özelliklerini kullanın.
.pile {
display: grid;
place-content: center;
}
.pile > * {
grid-area: 1/1;
}
grid4. Quick Circle
CSS'de daire oluşturmanın birçok yolu vardır ancak bu yöntem kesinlikle en az kodla yapılanıdır.
.circle { inline-size: 25ch; aspect-ratio: 1; border-radius: 50%; }
aspect-ratio5. @layer ile varyantları kontrol etme
Basamaklı katmanlar, daha sonra keşfedilen veya oluşturulan varyantların eklenmesine yardımcı olabilir. Bu varyantlar, orijinal varyant grubuyla birlikte basamakta doğru yere eklenir.
/* file buttons.css */ @layer components.buttons { .btn.primary { … } }
Ardından, tamamen farklı bir dosyada, rastgele bir zamanda yüklenen düğme katmanına, tüm bu süre boyunca diğerleriyle birlikteymiş gibi yeni bir varyant ekleyin.
/* file video-player.css */ @layer components.buttons { .btn.player-icon { … } }
@layer6. Mantıksal özelliklerle daha az ezberleyin ve daha fazla kişiye ulaşın
Bu yeni kutu modelini ezberleyin. Böylece, uluslararası yazma modları ve belge yönleri için sol ve sağ dolguyu ya da kenar boşluğunu değiştirme konusunda bir daha endişelenmenize gerek kalmaz.
Stillerinizi fiziksel özelliklerden mantıksal özelliklere (ör. padding-inline, margin-inline, inset-inline) göre ayarlayın. Tarayıcı, ayarlama işlemini yapar.
button { padding-inline: 2ch; padding-block: 1ch; } article > p { text-align: start; margin-block: 2ch; } .something::before { inset-inline: auto 0; }