22 puan yazan GN⁺ 2026-02-04 | Henüz yorum yok. | WhatsApp'ta paylaş
  • CSS platformunun evrimi sayesinde artık karmaşık animasyonlar ve etkileşimler bile JavaScript olmadan uygulanabilecek bir seviyeye ulaştı
  • Yeni eklenen özellikler; <select> özelleştirme, kaydırma durumunu algılama, kardeş öğe hesaplama, öznitelik tabanlı stillendirme ve daha fazlasını destekliyor
  • appearance: base-select ve ::picker(select) kullanıldığında erişilebilirliği ve yerel davranışı korurken tam stil kontrolü sağlanabiliyor
  • sibling-index() ve attr() ile veri tabanlı animasyonlar ve renk stillendirmesi sade biçimde uygulanabiliyor
  • Bu değişimler, JavaScript bağımlılığını azaltan ve erişilebilirlik ile bakım kolaylığını artıran bir frontend geliştirme paradigması değişimi anlamına geliyor

CSS’in yeni özelliklerine genel bakış

  • 2026 CSS sürümünde etkileşim ve animasyon için çok sayıda yeni özellik sunuluyor
    • appearance: base-select, <select> öğesini özelleştirilebilir moda geçiriyor
    • select::picker(select), açılır menü yüzeyini temsil eden bir sanal öğe olup gölge, kenarlık, boşluk gibi stiller uygulanabiliyor
    • selectedcontent, seçilen seçeneğin görüntülendiği alanı stillendirmeyi sağlıyor
  • Kaydırma ile ilgili özellikler de önemli ölçüde genişletiliyor
    • ::scroll-button(), kaydırılabilir kapsayıcıda otomatik oluşturulan sağ-sol gezinme düğmeleri sunuyor
    • ::scroll-marker ve ::scroll-marker-group, sayfalama noktaları veya görsel göstergeler işlevi görüyor
    • scroll-target-group ve :target-current, o anda görünen bölüme karşılık gelen bağlantıyı otomatik vurguluyor
  • Kaydırma durumuna dayalı container query desteği de ekleniyor
    • container-type: scroll-state ve @container scroll-state(snapped: x) ile kaydırma konumuna göre stil değiştirmek mümkün
  • Ağaç sayım fonksiyonları ve tip belirtilmiş öznitelik referansı özellikleri de geliyor
    • sibling-index() ve sibling-count(), kardeş öğelerin sırasını ve sayısını döndürüyor
    • attr(), öznitelik değerlerini renk gibi tiplerle okuyup doğrudan CSS özelliklerinde kullanmayı mümkün kılıyor
  • @starting-style, animasyonun başlangıç anındaki stili tanımlamak için deneysel bir söz dizimi

Demo: Yerel HTML <select> özelleştirmesi

  • <select> öğesi erişilebilirlik ve anlamsal yapı sunar, ancak geçmişte stil kontrolü sınırlıydı
  • Yeni CSS özellikleri ile JavaScript olmadan tam özelleştirme mümkün hale geliyor
    • appearance: base-select ile özelleştirme modu etkinleştirilir
    • select::picker(select) ile açılır menü yüzeyi stillendirilir
  • Tarayıcının otomatik olarak yönettiği işlevler
    • Taşma yönetimi: Açılır menünün ekran dışına çıkmaması için otomatik kaydırma uygulanır
    • Anchor konumlandırma ayarı: Görünüm alanındaki boşluğa göre en uygun konum otomatik seçilir
    • Odak yönetimi ve klavye gezinmesi: Arrow, Enter, Escape tuşları desteklenir
    • Zengin içerikli seçenekler: İkonlar, etiketler ve benzeri yapılandırılmış içerikler eklenebilir
  • Desteklemeyen tarayıcılarda varsayılan <select> öğesine geri düşülür, ayrıca polyfill gerekmez

sibling-index() ile kademeli animasyon

  • Açılır menü seçenekleri açıldığında ardışık biçimde kayan animasyon uygulanabilir
  • sibling-index(), bir öğenin kardeşleri arasındaki sırasını (1’den başlayarak) döndürür
    • Örneğin: ilk seçenek 0s, ikinci 0.2s, üçüncü 0.4s gecikmeye sahip olabilir
  • Öğeler eklendiğinde ya da silindiğinde zamanlama otomatik yeniden hesaplanır, bu da bakımı kolaylaştırır
  • Eskiden :nth-child() veya custom property ile elle tanımlanması gereken süreç basitleştirilmiş olur

attr() ile veri tabanlı stillendirme

  • attr() fonksiyonunun tip belirtilmiş sürümü, HTML öznitelik değerlerinin doğrudan stile aktarılmasını sağlar
    • Örnek: data-bg-color özniteliği, background-color: attr(data-bg-color color, transparent) ile okunup kullanılabilir
  • Öznitelik tipi açıkça belirtildiğinde tarayıcı doğru şekilde parse eder ve fallback renk tanımı da yapılabilir
  • HTML içinde yalnızca rengi değiştirerek CSS’i güncellemeden ilerleyebilen veri merkezli bir stillendirme yapısı kurulabilir

CSS ile yapılan açılır menü ve JavaScript sürümünün karşılaştırması

  • Aynı açılır menüyü JavaScript ile uygulamak 150 satırdan fazla kod gerektirebilir
  • CSS sürümü ise tek bir <select> ve birkaç öznitelikle aynı işlevi sunabilir
  • Yerel erişilebilirlik, odak ve klavye kontrolü platform seviyesinde otomatik sağlanır

CSS’in geleceği ve geliştirme yönü

  • Yeni CSS özellikleri, karmaşık kullanıcı arayüzlerini basit bildirime dayalı kodla kurmayı mümkün kılıyor
  • Platformun yerleşik sunduğu yetenekler sayesinde tekrarlı kod ve harici kütüphane bağımlılığı azalıyor
  • Yapay zeka çağında, bu tür sade ve bildirime dayalı yapıların otomatik kod üretiminin kararlılığını artırdığı görülüyor
  • Gerçek dünyada kullanım için önerilen yaklaşım
    • Mevcut JavaScript merkezli UI bileşenlerini CSS tabanlı olarak yeniden değerlendirmek
    • Erişilebilirlik testlerini paralel yürütüp klavye ve ekran okuyucu uyumluluğunu doğrulamak
    • Tarayıcı desteği durumunu sürekli izleyerek kademeli geçiş yapmak
  • Tüm bu değişimler, CSS’in frontend etkileşimlerinin merkez teknolojisi olarak yükseldiğini gösteriyor

Henüz yorum yok.

Henüz yorum yok.