CSS2
Özellik Seçicilerinin Regex ile Anlaşılması: Kapsamlı Bir Rehber
Web siteleri oluştururken, öğeleri doğru bir şekilde stilize etmek gerçek bir zorluk olabilir, özellikle de belirli öğeleri özelliklerine göre izole etme konusunda. Web standartları geliştikçe, şu soruyu sorduğunuzu bulabilirsiniz: CSS’i, öğeleri özellik değerlerine göre nasıl seçmek için kullanabilirim? İşte burada CSS2 özellik seçicilerinin ve regex’in gücü devreye giriyor.
Zorluk
Web sayfanızda tüm dış bağlantılara özel stiller eklemek istediğiniz bir zamanı hatırlıyor olabilirsiniz. Örneğin, HTTPS bağlantısına sahip tüm <a>
etiketlerini yanlarında bir ikonla süslemek istediniz. Bunun için şu şekilde bir çözüm bulmuş olabilirsiniz:
a[href=http] {
background: url(external-uri);
padding-left: 12px;
}
Ancak, bu yaklaşımın beklendiği gibi çalışmadığını hızlıca fark ettiniz. Peki, “http” ile başlayan tüm <a>
etiketlerini doğru bir şekilde nasıl seçebilirsiniz?
Çözüm: Özellik Seçicileri
Özellik Seçicilerini Anlamak
CSS, öğeleri özelliklerine göre seçmek için mekanizmalar sağlar, ancak bunlar kesinlikle regex’i desteklemeyebilir. İşte çeşitli özellik seçici türlerinin bir analizi:
-
Genel Özellik Seçici:
- Söz dizimi:
[att]
- Belirtilen özelliğe sahip her öğeyi, değerine bakılmaksızın eşleştirir.
- Söz dizimi:
-
Tam Eşleşme Seçici:
- Söz dizimi:
[att=val]
- Özelliğin değeri tam olarak belirtilen değerle eşleşen öğeleri hedef alır.
- Söz dizimi:
-
Kelime Seçici:
- Söz dizimi:
[att~=val]
- Özelliğin değeri, “kelimelerden” oluşan ve boşlukla ayrılmış bir listeyi temsil eden öğeleri eşleştirir; bunlardan biri belirtilen değerle tam olarak eşleşmelidir.
- Söz dizimi:
-
Kısa Çizgi ile Ayrılmış Liste Seçici:
- Söz dizimi:
[att|=val]
- Özelliğin belirtilen değerle başlayıp ardından bir kısa çizgiyle devam ettiği öğeleri eşleştirir. Bu genellikle dil eşleşme özellikleri için kullanılır.
- Söz dizimi:
http
ile Başlayan Bağlantıları Seçmek
“Http” ile başlayan tüm bağlantıları seçmek için aşağıdaki CSS söz dizimini kullanmalısınız:
a[href^=http] {
background: url(external-uri);
padding-left: 12px;
}
Burada olan bitenler şunlardır:
^=
operatörü “ile başlar” anlamına gelir, bu nedenle “http” ile başlayan birhref
değeri olan herhangi bir bağlantıya belirtilen stil uygulanacaktır.
Tarayıcı Uyumluluğu
CSS3 daha gelişmiş seçicilere sahip olsa da, tüm tarayıcılar bu seçicileri eşit şekilde desteklememektedir. Örneğin, ^=
seçicisi eski Internet Explorer sürümleri tarafından desteklenmeyebilir. Bu nedenle, en iyi uygulamalar mevcut uyumluluğu kontrol etmeyi ve geriye dönük stil uygulamaları için yetenek tespiti yapmayı içerir.
Seçicilerinizi Test Etme
Belirli seçicilerin farklı tarayıcılarda ne kadar iyi çalıştığını test etmek için CSS Seçici Test Suite gibi araçları kullanabilirsiniz. Bu, stillerinizi yayına almadan önce uyumluluğu değerlendirmenize yardımcı olabilir.
Sonuç
CSS2 özellik seçicileri, HTML yapısını gerekli bir şekilde değiştirmeden özelliklere göre öğeleri stillendirmek için güçlü bir yol sunar. Mevcut farklı seçicileri anlamak, özellikle de belirli değerlerle başlayan özellikleri eşleştirme yeteneği sayesinde ilgi çekici web arayüzleri oluşturabilirsiniz.
CSS seçicileri hakkında daha fazla içgörü için resmi spesifikasyonlara daha derinlemesine bakmaktan çekinmeyin ve her zaman stillerinizi farklı tarayıcılarda test etmeyi unutmayın, böylece tutarlı bir kullanıcı deneyimi sağlarsınız.