Kategoriler: Genel

CSS’de Kalıtsallık (Inheritance)

XHTML dokümanlarının yapısından ve CSS ile olan ilişkisinden (X)HTML Sayfa Yapısı ve CSS Kullanımı makalesinde bahsetmiştik, bu makaleden önce bir göz atmanızı tavsiye ederiz. XHTML öğeleri bir biri ile bir ailenin birbiri ile olan bağı gibi bağlıdır. Hatırlıyorsanız bir soy ağacı benzetmesi yapmıştık. İşte bu soy ağacının öğeleri arasında bir kalıtsallık söz konusudur. Ebeveynden çocuğuna geçen özellikler gibi XHTML öğeleri arasında CSS özellikleride kalıtsal olarak alt elementleri(çocuk element) etkiler. Kalıtsallık; CSS ile web sayfası kodlarken tüm elementlere tek tek atama yapabildiğimiz gibi birde bir elemente atama yaparız ve bu özellik tüm alt(çocuk elementleri) elementlerinede uygulanır buna kalıtsallık denir. CSS’in bir çok özelliğinin kalıtsallık özelliği vardır. Hızlı CSS Referansı bölümü ve alt bölümlerinde her özelliğin kalıtsallık durumunu belirtmiştik.

Bazı CSS özelliklerinde kalıtsallık yoktur. Örneğin margin, padding ve border özellikleri gibi tüm liste aşağıda

CSS1′de kalıtsallığı olmayan özelliklerin listesi:

  • background-color
  • background-image
  • background-repeat
  • background-attachment
  • background-position
  • background
  • text-decoration
  • vertical-align
  • margin-top
  • margin-right
  • margin-bottom
  • margin-left
  • margin
  • padding-top
  • padding-right
  • padding-bottom
  • padding-left
  • padding
  • border-top-width
  • border-right-width
  • border-bottom-width
  • border-left-width
  • border-width
  • border-color
  • border-style
  • border-top
  • border-right
  • border-bottom
  • border-left
  • border
  • width
  • height
  • float
  • clear
  • display

Örnek bir kodlama yaparsak:

  1. div#icerik {
  2. text-align: center;
  3. }
  4. ……
  5. <div id=’icerik’>
  6. Buradaki içerik ortalanacaktır
  7. <p>
  8. text-align özelliğinin kalıtsallığı olduğu için
  9. buradaki içeirkte ortalanacaktır
  10. </p>
  11. </div>

Kalıtsallık kodlama yaparken bazen bize yaralı olur, bazende sayfalarımızda sorun çıkmasına neden olur. Bundan dolayı elementlerin kaltsallığı olup olmadığını bilmeliyiz. Yoksa gerçekten zor durumlarda kalabilirsiniz, tecrübeyle sabit 🙂

Direk atamalar kalıtsallığı yok eder. Örneğin yukarıda örnekte

  1. p{
  2. text-align: left;
  3. }

tanımlaması ile üst element olan #icerik‘den kalıtsal olarak gelen text-align: center; tanımlamasını etkisiz kılar.

NN4x ve IE5x ve alt versiyonlarında body içerisindeki font tanımlamasının table elementine etki etmemesi gibi bir sorunumuz vardır.body {font-size: 0.8em;}

tanımlaması NN4x ve IE5x’de kodlama içindeki tabloları etkilemeyecektir. Bunun için

body, td, th {font-size: 0.8em;}

gibi bir tanımlama daha uygun bir tanımlama şeklidir.

inherit değeri

CSS2 ile birlikte CSS özelliklerine inherit değeri atamamıza olanak sağlamaktadır. Tüm elementlere(kalıtsallık özelliği olmayanlar dahil) inherit değeri atayabiliriz. inherit değeri atadığımız element üst elementinin değerlerini alacaktır. Bir örnek yapacak olursak:

  1. div#icerik {
  2. border: 1px solid #000;
  3. }
  4. div#bilgi {
  5. border: inherit;
  6. }
  7. <div id=’icerik’>
  8. Bu içeriği kenarlığı olacaktır
  9. <div id=’bilgi’>
  10. Bu bilgi de kenarlık bilgisini üstten elementten alarak kenarlığı olacaktır.
  11. </div>
  12. </div>

Kalıtsallığı kullanarak kodlarımızı azaltabiliriz. Ancak kalıtsallık nedeni ile de bir çok sorunla karşılaştığımızıda unutmayalım.

Bul-Tikla

Son Yazılar

Charlie Chaplin Kimdir? – Türk Dili ve Edebiyatı

Charlie Chaplin Melon şapkası, ufak bıyığı, bolca pantolonu ve bambu bastonuyla sinema tarihinin en tanınmış…

7 saat ago

Adamı Zorla Deli Ederler – Aziz Nesin

Adamı Zorla Deli Ederler – Aziz Nesin Bir yöneticiyi ölçüsüzleştiren yalnızca makam mıdır? Yoksa onu…

1 gün ago

Hiç Kimse Sıradan Değildir Özeti ve Konusu

Asla Kimse Bayağı Değildir – Markus ZusakTür:RomanYazar:Markus ZusakYayınlanma Zamanı:2012Yayınevi:Martı YayınlarıISBN: 9786053480204KarakterlerEd Kennedy: Romanın bayağı görünen sadece…

1 gün ago

Zamanın Kısa Tarihi Özeti ve Konusu

Dönemin Kısa Zamanı – Stephen HawkingTür:RomanYazar:Stephen HawkingYayınlanma Zamanı:1988Yayınevi:Alfa YayıncılıkISBN:9786051067582MevzusuDönemin Kısa Zamanı, evrenin iyi mi oluştuğunu,…

1 hafta ago

Sosyal Medyada ve Radyolarda Şiir Yayını Yapan Hesaplar ve Programlar

Toplumsal Medyada ve Radyolarda Şiir Şiir, yalnızca kitap sayfalarında yaşayan bir edebî tür değildir. Türk…

1 hafta ago

Maniheizm Nedir? – Türk Dili ve Edebiyatı

Maniheizm Nedir? Maniheizm, III. yüzyılda Engel tarafınca kurulan; iyi-kötü, ışık-karanlık ve ruh-madde karşıtlığı üstüne şekillenen…

1 hafta ago