CSS, Attribute (Öz Nitelik) Seçiciler (Attribute Selectors)

HTML elementinin sahip olduğu herhangi bir özelliği biliyorsak bu durum o elemente sadece sahip olduğu Attribute (Öz Nitelik) değeri ile erişim sağlamak mümkünüdür. Fakat öz nitelik seçme işlemleri de kendi içerisinde 7 farklı alana ayrılmaktadır.


1) Sadece Attibute değeri bilinen elementi yakalama:

Eğer seçilmek istenilen elementin, Attibute değeri biliniyor fakat sahip olduğu "value" değeri bilinmiyorsa

<a href="https://bilimekseni.com">This page</a>
[href]{
  color: orange; 
}

Bu durumda yukarıdaki gibi bir işlem ile tüm href özelliğine sahip olan elementlere erişim sağlanır.


2) Hem Attribute hem de değeri biliniyorsa:

Bu durumda CSS ile hem Attibute değerini hemde "value" değerini aynı anda yazmamız yeterli olacaktır.

<input type="text">
[type='text']{
  width: 100%;
  color: red;
}

Attibute ve "value" değerinin net olarak bilindiği durumlarda kullanılması tavsiye edilir.


3) Attibute değeri biliniyor, "value" değerinin ise sadece bir kelimesi biliniyorsa

"value" içerisinde yer alan bir kelime biliniyorsa bu durumda sadece o kelimenin bulunduğu kısımları seçmek istiyorsak bu durumda kesinlikle kullanmalıyız.. İstinai durumlarda karşımıza çıkacak ve belki günü kurtacak olan bir seçim yöntemidir.

<h1 title="header">Title</h1>         <!-- ❌ -->
<h1 title="true">Title</h1>           <!-- ❌ -->
<h2 title="flower daily">blabla</h2>  <!-- ✔️ -->
<span title="flowers"></span>         <!-- ❌ -->
<h2 title="choose flower">blabla</h2> <!-- ✔️ -->;
[title~='flower']{
  color: red;
}

Yukarıdaki örnekte title değeri içerisinde "flower" olan bütün elementleri seçer. Fakat yukarıdaki kullanımda kelime olması zorunludur! Eğer kelime "flower" yerine "flowers" olursa bu durumda seçme işlemi gerçekleşmeyecektir!


4) Attribute biliniyor, "value" değerin başlangıcı biliniyor

Her zaman karşımıza çıkan bir özellik değidir. Özellikle sayfa içerisinde birden çok dil kullanılıyorsa ve her bir dil için farklı özel renklendirmeler (tasarımlar) yapılmak isteniliyorsa kullanılabilir.

<h1 lang="en">All English</h1>       <!-- ✔️ -->
<h1 lang="en-uk">United Kingdom</h1> <!-- ✔️ -->
<h1 lang="en-usa">United States</h1> <!-- ✔️ -->
<h1 lang="enginar">Meyve</h1>        <!-- ❌ -->
[lang|="en"]{
  color: red;
}

Yukarıdaki örnekte en ve en- ile başlayan bütün elementler seçilmiştir. Fakat "enginar" kısmı içerisindeki "en" kısmı seçilmemiştir!

5) Belirli bir elementin, belirli bir değerle başlangıç "value" değerini kontrol etme:

Özellikle "a" elementlerinde URL'in https veya http olması durumunu kontrol etmek maksatlı kullanılmaktadır. Eğer link güvenli ise yani HTTP ise bu durumda yeşil renkli değilse bu durumda kırmızı renkli olabilir.

<a href="http://bilimekseni.com">This Page</a> <!-- ❌ -->
<a href="https://bilimekseni.com">This page</a> <!-- ✔️ -->
a[href^='https']{
  color: red;
}

Yukarıdaki örnekte "a" elementinin href attiribute özelliğinin "https" ile başlayıp başlamadığı kontrol edilmiştir.


6) Belirli bir elementin, belirli bir değerle bitiş "value" değerini kontrol etme:

5). maddede yazdığımız olan zıddı olarak düşünülebilir. Elementin, ilgili value değerinin başlangını değil bitişini kontrol eder.

<a href="http://bilimekseni.com/img/content/page.jpg">This Page</a>
<a href="https://bilimekseni.com/img/content/logo.png">This page</a>
a[href$='.jpg']{
   color: red;
 }

Yukarıdaki örnekte a elementinin, href Attribute özelliğinden, value değeri ".jpg" ile biten elementin seçilmesi istenilmektedir.


7. Belirli bir elementin, belirlenen attibute "value" değerinde bir kelimenin herhangi bir yerde geçmesi durumunu kontrol için

Bu durumda yine istisnai bir durumdur. Elimizde bir kelime var ve biz bu kelimenin ne başta ne de sonda geçip geçmediğini bilmiyoruz. Bu durumda heryerde olabilme ihtimali için:

<a href="http://bilimekseni.com/imgcontentpage.jpg">This Page</a>
<a href="https://bilimekseni.com/img/content/logo.png">This page</a>
a[href*='content'] {
  color: red;
}

Yukarıdaki örnekte aranan kelime "content" kelimesidir. Ve her iki element içerisinde de bulunduğundan kaynaklı olarak iki elementte başarılı bir şekilde seçilmektedir.


Böylelikle CSS içersindeki tüm Attribute (Öz Nitelik) seçicileri yazmış oluyoruz.


CSS'te bulunan diğer seçim türlerini görüntülemek için CSS'te Seçim Yöntemleri isimli ana yazımıza bakmanızı tavsiye etmekteyiz.

CSS Temel Seçiciler || CSS Basic Selectors

CSS içerisinde en çok kullanılan seçim (erişim) yöntemidir. Kendi içerisinde 4 farklı başlıktan oluşmaktadır. Bunlar. Class seçiciler, ID seçiciler, Universel * seçici ve Element seçicilerdir.

1) CSS ile ".class" seçiciler:

CSS .class değeri ile bir elemente erişmek istediğimizde öncelikli olarak erişilmek istenilen HTML elementinin "class" değeri tespit edilmelidir. HTML "class" değerleri birden çok elemente verilebilmektedir. Bu nedenle "id" yapısı ile keskin bir farkı vardır.

<h1 class='title'>This is a my title</h1>
<h2 class='title'>This is a my title</h2>

Erişim sağlanmak istenen elementin "class" değeri te...

CSS Selectors || CSS Seçiciler

CSS seçiciler nedir? Nasıl kullanılır?

CSS ile HTML <body></body> elementi içerisinde bulunan bütün elementler seçilebilir ve sahip olduğu tasarımlar değiştirilebilir. Bu konu uzun bir konu olduğundan kaynaklı, ilgili yazıları parçalar hâlinde yazarak, belli başlıklar altında yazmaya karar verdik. Bu başlıklarıımız sırası ile:

a) Temel Seçiciler ,
b) Kombine (Kompleks) Seçiciler ,
c) Attribute (Öz Nitelik) Seçiciler ,
d)