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 ile yazının rengi nasıl değiştirilir?

CSS ile bir yazının rengini, arka plan rengi değiştirmek oldukça kolaydır. Fakat renk yapılarının kendi içerisinde birden çok kullanımı bulunmaktadır. Bu nedenle CSS Renk Yapıları başlığı içerisinde bulunan renk yapılarının ne olduğunu bilmeniz sizin için yeterli olacaktır.


Eğer CSS Renk Yapıları yazısını okuduysanız bu durumda yapmanız gereken tek şey seçili olan elementin color veya background-color değerine etki etmek olacaktır.

CSS "color" komutu nedir? Ne işe yarar?

color değeri seçili olan elementin içerisindeki yazın...

CSS Renk Yapıları

CSS'te renk yapılarının önemi nedir?

CSS, genel itibariyle sayfanın tasarımın ele alan bir yapıdır. Bu nedenle CSS'in içersinde bulunan renk yapıları aslında belkide CSS'in en önemli başlıklarından birisidir. Eğer ki renk yapıları bilinmezse bu durumda rahat bir şekilde kod yazılamaz ve böylelikle kod yazarken kendimizi yormuş oluruz. Tabiki bugünkü yazımızı okumadan önce CSS ile HTML elementlerine nasıl erişilir başlığını okumanız gerekmektedir. Elementlere erişimi başarılı bir şekilde yaptıktan sonra artık renklendirme işlemlerine başlayabiliriz.

CSS içerisinde kaç farklı renk yapısı bulunmaktadır?

CSS içerisinde toplamda 6 farklı renklendirme yapısı mevcuttur. Renklerin 6 farklı yapıda bulunmasının nedeni her ...