CSS Seçiciler (Selectors)
Selamün Aleyküm Arkadaşlar;
CSS bildirim ve seçici olmak üzere ikiye ayrılır. Bir stili uygulayabilmek için bir XHTML/HTML’de element veya elementleri seçmek gerekir.
div { margin-left: 10px; }
div seçici, [margin-left: 10px] ise bildirimdir. Bildirimler özellik ve değerden oluşur.
margin-left özellik; 10px ise değerdir. Değerin sonuna ; konularak diğer bildirime geçilir.
Her seçici yazıldıktan sonra { ile başlar } kapatılır. {} içinde bildirimler yer alır.
[table]
Seçici | Açıklama | ||
---|---|---|---|
* | Tüm elementleri seçer. | ||
E | Element etiketine göre seçer. div, a, p, h1 vs. | ||
E F | E elementinin soyundan gelen F elementlerini seçer. | ||
E > F | E elementine bağlı olan F elementlerini seçer. | ||
E:first-child | E elementinin ilk elementini seçer. | ||
E:link | Ziyaret edilmemiş, tıklanmamış elementleri seçer. | ||
E:visited | Ziyaret edilmiş, tıklanmış elementleri seçer. | ||
E:active | Elemente tıklandığı zaman çalışır. | ||
E:hover | Elementin üzerine gelindiğinde çalışır. | ||
E:focus | Elemente odaklanıldığında çalışır. | ||
E[ozellikisim] | ozellikisim özelliği olan bütün elementleri seçer. Değerine bakılmaz. | ||
E[ozellik=”deger”] | Özelliği deger kelimesine eşit olan elementleri seçer. | ||
E[ozellik~=”deger”] | Özelliğinde deger kelimesi geçen elementleri seçer. | ||
E[ozellik|=”deger”] | Özelliği deger-… olan elementleri seçer. | ||
E.classisim | class özelliği classisim eşit olan ve E elementlerini seçer. | ||
E#idisim | id özelliği idisim eşit olan ve E elementlerini seçer. | ||
[/table]
Evrensel Seçici (Universal Selector)
Evrensel seçici “*” gösterilir. Bütün elementleri seçer.
* { color: red; }
Element Seçici (Element Selectors)
Bir elementi etiketine göre seçmek için seçmek istediğimiz elementin etiketini yazmamız gerekir.
Örnekte h1 etiketleri seçilip font rengi kırmızı yapılmıştır.
h1 { color: red; }
Bir elementin içinde yer alan bir başka elementin seçmek için Ana elementin etiketini yazıp boşluk o elemente bağlı seçmek istediğimiz elementin etiketini yazarız.
Örnekte div içinde yer alan p elementlerinin yazı boyutu, rengi ve arkaplan rengi değiştirilmiştir.
div p { font-size: 14px; color: white; background: #000; }
Bir elemente bağlı olan elementleri seçmek için Bağlı olduğu element etiketi > Seçilecek Element etiketi şeklinde yazılır. (E > F)
Örnekte ul elementine bağlı olan li elementlerinin arkaplan rengi ve yazı rengi değiştirilmiştir.
ul > li { background: #000; color: #fff; }
Özellik Seçicileri (Attribute Selectors)
E[attr] attr özelliği olan tüm E elementleri seçer.
E[attr=”deger”] attr özelliği deger eşit olan E elementleri seçer.
E[attr ~= “deger”] attr özelliği deger[boşluk]… olan E elementlerini seçer.
E[attr |= “deger”] attr özelliği deger-… olan E elementlerini seçer.
input[name]{ background: #000; color: #fff; display: block; } input[value="metin"]{ background: red; color: yellow; display: block; } input[value~="metin"]{ font-weight: bold; display: block; } input[value|="metin"]{ border: 2px dashed yellow; }
Sınıf Seçicisi (Class Selector)
class özelliğine göre bir elementi seçmek için .classisim kullanılır.
div.container{ border: 1px solid #000; background: #ddd; }
Id Seçicisi (Id Selector)
Id özelliğine göre elementleri seçebiliriz. #iddeger olarak kullanılır.
div#item1{ border: 1px dashed #ccc; background: #fff; font-weight: bold; }
Pseudo-classes
E:active E elementine mouse ile tıklandığı zaman tetiklenir.
E:hover E elementinin üzerine mouse ile gelince tetiklenir.
E:link Hiç tıklanmamış, bağlı link hiç ziyaret edilmemiş E elementleri seçilir.
E:visited Tıklanmış, ziyaret edilmiş E elementleri seçilir.
E:not(seçici) E elementinin içinden not(seçicide tanımlanmış) hariç olanlar seçilir.
E:target URL sonunda #deger ile gelen E elementinin içinde, id özelliğine eşit olan seçilir.
a:link{ color: red; } a:visited{ color: green; } a:hover{ color: black; } a:active{ color: orange; } body > *:not(div){ background: #000; color: #fff; } #con:target{ color: red; }
Pseudo-elements
E:before E elementinden önce içerik ekler.
E:after E elementinden sonra içerik ekler.
E:first-letter E elementinde ilk harfi seçer.
E:first-line E elementinde ilk satırı seçer.
E::selection E elementinde kullanıcı mouse ile alanı seçtiğinde tetiklenir. Mozilla tarayıcında çalışmaz. Mozilla tarayıcında ::-moz-selection bu kod aynı işlemi yapar.
p:before{ padding-right: 5px; content: "P. başı"; } p:after{ padding-left: 5px; content: "P. sonu"; } p:first-line{ color: red; background: #000; } p:first-letter{ color: yellow; } p::selection{ background: green; color: white; } /* Mozilla için */ p::-moz-selection{ background: green; color: white; }
UI state pseudo-classes
E:checked E elementinden checked veya selected özelliği olanı seçer.
E :disabled E elementinde disabled özelliği olan, inaktif elementler (form elementleri) seçilir.
E :enabled E elementinde disabled özelliği olmayan, aktif elementler (form elementleri) seçilir.
E:focus E elementine mouse veya klavye (tab ile) ile odaklanıldığında tetiklenir.
E:read-only E elementinde readonly özelliği olanlar seçilir.
E:read-write E elementinde readonly özelliği olmayanlar seçilir.
option :checked{ color: red; background: yellow; } input[type="checkbox"]:checked{ margin-left: 20px; } input[type="radio"] :checked{ margin-left: 20px; } form#form1 > *:enabled{ background: red; } form#form1 > *:disabled{ background: lime; } form#form1 > *:focus{ width: 50px; } form#form1 > *:read-only{ background: yellow; } form#form1 > *:read-write{ background: orange; }
E:valid E elementinde pattern özelliğindeki kural sağlanıyorsa tetiklenir.
E:invalid E elementinde pattern özelliğindeki kural sağlanmıyorsa tetiklenir.
Not: E:valid ve E:invalid HTML5 pattern özelliğine aittir.
input:valid { border: 1px solid green; } input:invalid { border: 1px solid red; }
Hayırlı günler, sağlıcakla kalın.
Bu döküman www.ibasoglu.com’a aittir. Kaynak belirtmek suretiyle alıntı yapılabilir.