CSS Kombine veya Kompleks Seçiciler

CSS konusuna hakim kişilerin işini kolaylaştıran müthiş yapılardır. Sürekli ID veya Class değeri kullanmak yerine (HTML içerisinde belirtmek yerine) CSS tarafında yapılan küçük müdahaleler ile istenilen elemente doğrudan erişim sağlayabilmektedir. Kendi içerisinde 5 farklı maddeden oluşmaktadır. Bunlar: Gruplandırma, Alt Öğe (Descendant), Doğrudan Alt Öğe (child), Bitişik Kardeş Tekil (Adjancent Sibling), Genel Kardeş Çoğul (General Sibling) şeklindedir.


1) Gruplandırma:

Aynı CSS özellikleri birden çok HTML elementine verilmek isteniyorsa "class", "id", "element" fark etmeksizin "," işareti ile gruplandırılabilir.

<span class='output'></span>
<div id='left'></div>
<section></section>
.output, #left, section{
  background-color: plum;
}

Yukarıdaki yazım tarzı ile CSS gruplandırma işlemini yapabilirsiniz.


2) Alt Öğe (Descendant)

Eğer bir elementin içersinde çocuğun çocuğu varsa biz bu durumda, dede element ile torun elemente doğrudan erişim imkanı vermektedir.

  <article>
    <h1><span>Title</span></h1>
    <p>blabla</p>
  </article>
article span{  // Bunu seçer ✔️
  color: red; 
}
article p{ // Bunu da seçer ✔️
  color: orange; 
}

Yani ana ebeveyn içerisindeki ister torun olsun, ister evlat, isterse torun torun torun olsun :) yukarıdaki yazım tarzı ile o elemente erişim sağlamak mümkündür.


3) Doğrudan Alt Öğe (Child)

"Descendant" yapısından farklı olarak sadece ve sadece elementin çocuğunu seçer. Eğer ebeveny elementin torununu seçmek istiyorsak bu yöntem ile seçmek mümkün değildir! > işareti ile kullanılmaktadır.

  <article>
    <h1><span>Title</span></h1>
    <p>blabla</p>
  </article>
article > span{  // Bunu seçmez ❌
  color: red; 
}
article > p{ // Fakat bunu seçer ✔️
  color: orange; 
}

(Descendant) ile (child) arasındaki fark sadece > işaretidir.


4) Bitişik kardeş (Adjacent Sibling) seçiciler:

HTML elementinin kardeş olması durumunda, alt alta gelen elementlerden sadece bir tanesini seçer bu nedenle "Genel Kardeş (Genaral Sibling)" den farklıdır. "+" işareti ile birlikte kullanılmaktadır. + işaretini yapmak için "SHIFT + 4" üste bulunan 4 sayısına basmak gerekmektedir.

<h1>Title</h1>
<p>Paragraf</p> <!-- Sadece bunu seçer ✔️ -->
<p>Paragraf</p> <!-- Fakat bunu seçmez  ❌ -->
h1 + p{
  color: red;
}

Sadece ilk tanımlı olan "p" elementini seçecektir.


5) Genel Kardeş (General Sibling)

Bitişik kardeş (Adjacent Sibling)'den farklı olarak arka arkaya gelen kardeşlerin hepsini seçer. Tabi kardeşten maksat "p" elementidir veya ikinci sırada belirtilen değerdir. Tilda ~ işareti ile gösterilmektedir. Tilda işaretini yapmak için CTRL + ü tuşlarına 2 kere basmak gerekmektedir.

<h1>Title</h1>
<p>Paragraf</p> <!-- Hem bunu seçer✔️ -->
<p>Paragraf</p> <!-- Hem de bunu  ✔️ -->
h1 ~ p{
  color: red;
}

Böylelikle eğer bir elementten sonra gelen ve türü aynı olan birden çok elementi seçmek mümkündür.


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, Pseudo - Class (Sözde Sınıf) Seçiciler

Psudo, kelime anlamı ile "sahte" manasına gelmektedir. Bu nedenle aslında bu işlemler içerisinde yapmış olduğumuz seçim işlemleri, doğrudan elementin sahip olduğu değerler değil, olması beklenen değerlerdir. CSS, Pseudo - Class Seçicileri konusunun daha iyi anlaşılması için 6 farklı başlık altında bir yazım gerçekleştireceğiz. Bunlar; Genel Pseudo-class seçiciler, Form elemanlarına yönelik Pseudo-class seçiciler, Ebeveyn - Çocuk ilişkisine yönelik Pseudo-class seçiciler, Elemanın türüne yönelik Pseudo-class seçiciler, İçerik durumuna yönelik Pseudo-class seçiciler ve en son olarak Kök eleman seçici şeklindedir.


CSS Genel Pseudo-class seçiciler

En sık kullanılan Pseudo-class seçicileridir. Birden çok Genel Pseudo-class yapısı...

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 ola...