CSS Özellik Seçicisi Açıklaması

CSS 2, özellik seçicisini tanıttı.

Özellik seçicileri, elemanın özelliklerini ve özellik değerlerini kullanarak elemanları seçebilir.

Basit Özellik Seçici

Belirli bir özellikteki öğeleri seçmek ve bu özellik değerine bakmaksızın, basit özellik seçicisini kullanabilirsiniz.

Örnek 1

Başlık (title) içeren tüm öğeleri kırmızıya çevirmek istiyorsanız, şu şekilde yazabilirsiniz:

*[title] {color:red;}

Kişisel olarak deneyin

Örnek 2

Yukarıdaki gibi, sadece href özelliğine sahip olan bağlara (a ögesi) stil uygulamak mümkündür:

a[href] {color:red;}

Kişisel olarak deneyin

Örnek 3

Birden fazla özelliklere göre seçim yapabilirsiniz, sadece özellik seçicilerini birbirine bağlayabilirsiniz.

Örneğin, hem href hem de title özelliklerine sahip olan HTML bağlantılarının metnini kırmızı yapmak için şu şekilde yazabilirsiniz:

a[href][title] {color:red;}

Kişisel olarak deneyin

Örnek 4

Bu özelliği bazı yaratıcı yöntemlerle kullanabilirsiniz.

Örneğin, alt özelliğine sahip tüm resimlere stil uygulayarak bu geçerli resimleri vurgulayabilirsiniz:

img[alt] {border: 5px solid red;}

Kişisel olarak deneyin

İpucu:Bu özel örnek, daha çok tanımlama yerine teşhis için daha uygun, yani resmin gerçekten geçerli olup olmadığını belirlemek için kullanılır.

Örnek 5: XML belgelerinde özellik seçicisi kullanımı

Özellik seçicileri, XML dilinin element ve özellik isimlerini kullanım amacına göre belirtmesini teşvik ettiği için XML belgelerinde oldukça kullanışlıdır.

Güneş sistemindeki gezegenleri tanımlayan bir XML belgesi tasarladığımızı varsayalım. moons özelliğine sahip tüm planet elementlerini kırmızı gösterecek ve bu gezegenlere daha fazla dikkat çekmek istiyorsak, şu şekilde yazabiliriz:

planet[moons] {color:red;}

Bu, aşağıdaki etiket parçasındaki ikinci ve üçüncü elementlerin metnini kırmızı gösterecek, ancak birinci elementin metni kırmızı olmayacaktır:

<planet>Venus</planet>
<planet moons="1">Earth</planet>
<planet moons="2">Mars</planet>

Sonuçları gözlemleyin

Özellik değerlerine göre seçim yapma

Bazı özelliklere sahip olan elementleri seçmekten başka, belirli özellik değerlerine sahip olan elementleri seçmek için daha da daraltabilirsiniz.

Örnek 1

Örneğin, Web sunucusundaki belirli bir belgeye yönlendiren bağlantıyı kırmızı yapmak istiyorsanız, şu şekilde yazabilirsiniz:

a[href="http://www.codew3c.com/about_us.asp"] {color: red;}

Kişisel olarak deneyin

Örnek 2

Basit özellik seçicilerine benzer şekilde, birden fazla özellik-değer seçicisini bir araya getirerek bir belgeyi seçebilirsiniz.

a[href="http://www.codew3c.com/"][title="W3School"] {color: red;}

Bu, aşağıdaki etiketlerdeki ilk bağlantı metnini kırmızı yapar, ancak ikinci veya üçüncü bağlantı etkilendirilmez:

<a href="http://www.codew3c.com/" title="W3School">W3School</a>
<a href="http://www.codew3c.com/css/" title="CSS">CSS</a>
<a href="http://www.codew3c.com/html/" title="HTML">HTML</a>

Kişisel olarak deneyin

Örnek 3

Aynı şekilde, XML dili de bu yöntemi tarz ayarlama için kullanabilir.

Şimdi, gezegen örneğimize geri dönelim. moons özellik değeri 1 olan planet elementlerini seçmek istiyorsak:

planet[moons="1"] {color: red;}

Yukarıdaki kod, aşağıdaki etiketlerin ikinci elementini kırmızı yapacak, ancak birinci ve üçüncü element etkilenmeyecektir:

<planet>Venus</planet>
<planet moons="1">Earth</planet>
<planet moons="2">Mars</planet>

Sonuçları gözlemleyin

Özellik ve özellik değeri tam olarak eşleşmeli

Lütfen bu formatta, özellik değeri ile tam olarak eşleşmesi gerektiğini unutmayın.

Özellik değeri, boşluklarla ayrılmış bir değer listesi içeriyorsa, eşleşme sorunları ortaya çıkabilir.

Aşağıdaki etiket parçasını düşünün:

<p class="important warning">Bu paragraf, çok önemli bir uyarıdır.</p>

p[class="important"] olarak yazılırsa, bu kural örnek etiketleri ile eşleşemez.

Belirli bir özellik değeri ile elementi seçmek için aşağıdaki gibi yazılmalıdır:

p[class="important warning"] {color: red;}

Kişisel olarak deneyin

Kısmi属性值 seçimine göre

Özellik değeri içindeki kelime listesinin belirli bir kelimesine göre seçim yapmak gerekiyorsa, tilde işareti (~) kullanılmalıdır.

Class özelliğinde important içeren elementleri seçmek istiyorsanız, aşağıdaki seçici kullanabilirsiniz:

p[class~="important"] {color: red;}

Kişisel olarak deneyin

Dalga işaretini göz ardı edildiğinde, tam değere tam olarak eşleşmesi gerektiği anlaşılır.

Kısmi değer属性选择器 ile nokta sınıf adı notasyonunun farkı

Bu seçici, sınıf seçicilerinde tartıştığımız nokta sınıf adı notasyonuna eşittir.

Yani, p.important ve p[class="important"] HTML belgesine uygulanırken eşdeğerdir.

Peki neden "~="属性 seçici hala var? Çünkü bu, sadece class değil, herhangi bir özellik için kullanılabilir.

Örneğin, büyük bir resim içeren bir belge olabilir, ancak bunların yalnızca bir kısmı gerçek resimlerdir. Buna göre, bu resimleri seçmek için title belge kısmı属性 seçici kullanılabilir:

img[title~="Figure"] {border: 1px solid gray;}

Bu kural, title metninde "Figure" içeren tüm görselleri seçer. title özelliği olmayan veya title özelliğinde "Figure" içermeyen görseller eşlenmez.

Kişisel olarak deneyin

Alt dizisi Eşleştirme Özellik Seçicileri

Aşağıda, CSS2'nin tamamlanması sonrasında yayınlanan ve daha fazla parçalı değer özellik seçicisini içeren daha ileri bir seçici modülünü tanıtmanızı istiyorum. Düzenlemeye göre, bu seçicilere "Alt dizisi Eşleştirme Özellik Seçicileri" denmelidir.

Birçok modern tarayıcı bu seçicileri destekler, bunlar arasında IE7 de bulunur.

Aşağıdaki tablo, bu seçicilerin basit bir özetidır:

Türler Açıklama
[abc^="def"] abc özellik değerinin "def" ile başlayan tüm elementleri seçin
[abc$="def"] abc özellik değerinin "def" ile biten tüm elementleri seçin
[abc*="def"] abc özellik değerinde "def" alt dizisini içeren tüm elementleri seçin

Bu seçicilerin birçok kullanım alanı vardır.

Örneğin, CodeW3C.com'ya yönlendiren tüm bağlantılara stil uygulamak istiyorsanız, tüm bu bağlantılara class belirlemek ve bu sınıfa göre stil yazmak yerine, aşağıdaki kuralları yeterli olacaktır:

a[href*="codew3c.com"] {color: red;}

Kişisel olarak deneyin

İpucu:Bu seçiciler herhangi bir özellik için kullanılabilir.

Belirli Özellik Seçici Türleri

Son olarak, belirli özellik seçicilerini tanıtmanızı istiyorum. Aşağıdaki örneklere göz atın:

*[lang|="en"] {color: red;}

Bu kural, lang özelliği en veya en- ile başlayan tüm elementleri seçer. Bu nedenle, aşağıdaki örnek etiketindeki ilk üç element seçilecek, son iki element seçilmeyecektir:

<p lang="en">Hello!</p>
<p lang="en-us">Greetings!</p>
<p lang="en-au">G'day!</p>
<p lang="fr">Bonjour!</p>
<p lang="cy-en">Jrooana!</p>

Kişisel olarak deneyin

Genel olarak, [att|="val"] herhangi bir özellik ve değer için kullanılabilir.

Bir HTML belgesinde bir dizi görsel olduğunu varsayalım, her bir görselin dosya adı şu şekilde olacaktır: figure-1.jpg ve figure-2.jpgAşağıdaki seçicilerle tüm bu görselleri eşleyebilirsiniz:

img[src|="figure"] {border: 1px solid gray;}

Kişisel olarak deneyin

Elbette, bu özellik seçicisinin en yaygın kullanım hali dilleri eşlemektir.

CSS Seçici Referans Kılavuzu

Seçici Açıklama
[attribute] Belirtilen özellikle sahip her elementi seçer.
[attribute=value] Belirtilen özellik ve değeri olan her elementi seçer.
[attribute~=value] Belirtilen değeri içeren her özellik değeri ile eşleşen her elementi seçer.
[attribute|=value] Belirtilen değeri başında biten ve bu değer tam bir kelime olan özellik değerine sahip olan elementleri seçer.
[attribute^=value] Belirtilen değeri başında biten her özellik değeri ile eşleşen her elementi eşleştirir.
[attribute$=value] Belirtilen değeri sonunda biten her özellik değeri ile eşleşen her elementi eşleştirir.
[attribute*=value] Belirtilen değeri içeren her özellik değeri ile eşleşen her elementi eşleştirir.