CSS Dersleri

CSS'te Descendant (Soydan Gelen) Seçici

eminbasbayan

eminbasbayan

4 dk okuma
CSS'te Descendant (Soydan Gelen) Seçici
🔍 Büyütmek için tıklayın

Web geliştirmede CSS'in en güçlü yönlerinden biri, belirli öğeleri seçerek onlara stil vermemizi sağlayan CSS seçicileridir. Bu makalede, en yaygın kullanılan seçicilerden biri olan descendant (soydan gelen) seçiciyi detaylı bir şekilde inceleyeceğiz. Eğer daha önce element seçicisi veya class seçicisini kullandıysanız, descendant seçicisi konsept olarak size tanıdık gelecektir. Ancak, bu seçici özellikle iç içe geçmiş HTML öğelerini hedeflemek için oldukça faydalıdır.

Descendant Seçici Nedir?

Descendant seçici, bir HTML öğesinin belirli bir başka öğe içinde bulunması durumunda stil uygulanmasını sağlar. Yani, bir öğenin içindeki belirli alt öğeleri seçmek için kullanılır. Descendant seçicinin sözdizimi şu şekildedir:

ana-öğe alt-öğe { /* Stil kuralları */ }

Bu seçicide, ana-öğe (üst öğe) ile alt-öğe (içinde yer alan öğe) arasına bir boşluk koyarız. Bu, belirttiğimiz alt öğenin doğrudan veya dolaylı olarak üst öğenin içinde bulunması durumunda seçileceği anlamına gelir.

Örnek olarak, aşağıdaki HTML kodunu ele alalım:

<ul> <li><a href="#">Bağlantı 1</a></li> <li><a href="#">Bağlantı 2</a></li> <li><a href="#">Bağlantı 3</a></li> </ul>

Bu durumda, tüm <a> etiketleri, <li> öğelerinin içinde bulunmaktadır. Eğer sadece <li> içindeki <a> etiketlerine stil vermek istersek, CSS kodumuz şu şekilde olur:

li a { color: blue; /* Bağlantı rengini mavi yap */ text-decoration: none; /* Altı çizili olmasını engelle */ }

Bu kod ile yalnızca <li> öğeleri içinde yer alan <a> etiketleri mavi renge bürünür. Dikkat edilmesi gereken önemli bir nokta, burada sadece <li> içinde bulunan <a> öğelerinin seçileceğidir; doğrudan <ul> içinde olan <a> etiketleri bu seçici tarafından etkilenmez.

Descendant Seçicinin Kullanım Senaryoları

1. Tüm Bağlantıları Değil, Belirli Bir Bölümdeki Bağlantıları Hedefleme

Diyelim ki bir web sayfanızda bazı bağlantıları farklı renklerde göstermek istiyorsunuz, ancak tüm <a> etiketlerini etkilemek istemiyorsunuz. İşte burada descendant seçici kullanabilirsiniz.

Örneğin, bir navigasyon menüsündeki bağlantıları farklı renkte yapmak için şu kodu kullanabiliriz:

nav a { color: red; /* Navigasyon içindeki bağlantıları kırmızı yap */ }

Böylece, yalnızca <nav> içindeki <a> etiketleri kırmızı renge dönüşecek, diğer sayfalardaki <a> etiketleri etkilenmeyecektir.

2. Daha Spesifik Seçimler Yapma

Bazı durumlarda belirli bir alan içindeki öğeleri seçmek isteyebiliriz. Örneğin, bir blog sayfasında her gönderiyi bir section içine alabiliriz ve bu gönderilere özel bir stil uygulamak isteyebiliriz.

Örneğin, HTML kodumuz şu şekilde olsun:

<section class="post"> <p>Bu bir blog yazısıdır. <a href="#">Devamını oku</a></p> </section> <section class="post"> <p>İkinci blog yazısı. <a href="#">Devamını oku</a></p> </section>

Eğer sadece blog yazılarındaki bağlantıları belirli bir renge çevirmek istiyorsak, şu CSS kodunu kullanabiliriz:

.post a { color: darkblue; /* Blog yazılarındaki bağlantıları koyu mavi yap */ font-weight: bold; }

Bu sayede, .post sınıfına sahip tüm section içindeki <a> etiketleri seçilecek ve onlara özel stil uygulanacaktır.

Birçok web sitesinde footer (alt bilgi) kısmındaki bağlantılar, ana sayfadaki bağlantılardan farklı bir stil alır. Bu durumda descendant seçici oldukça işimize yarar.

Örneğin, aşağıdaki HTML yapısını ele alalım:

<footer> <ul> <li><a href="#">Gizlilik Politikası</a></li> <li><a href="#">Kullanım Şartları</a></li> </ul> </footer>

Buradaki footer içindeki bağlantıları özel bir renge çevirmek için şu CSS kodunu yazabiliriz:

footer a { color: gray; /* Footer içindeki bağlantıları gri yap */ }

Böylece, sayfanın footer kısmındaki tüm <a> etiketleri gri renkte görünecektir.

Descendant Seçici ile Class Seçiciyi Birlikte Kullanma

Descendant seçiciyi class seçicisi ile birlikte kullanarak çok daha esnek seçimler yapabiliriz. Örneğin, hem bir blog gönderisi hem de footer içindeki linkler için şu şekilde bir yapı kullanabiliriz:

.post a { color: darkblue; /* Blog gönderisindeki linkleri koyu mavi yap */ } footer a { color: gray; /* Footer içindeki linkleri gri yap */ }

Bu yaklaşım, her öğeye ayrı ayrı sınıf vermek yerine üst öğeyi seçip içindeki belirli alt öğeleri hedefleyerek daha temiz ve esnek bir CSS kodu yazmamıza yardımcı olur.

Sonuç ve Özet

Descendant seçici, CSS'in en güçlü özelliklerinden biridir ve web sayfalarında belirli öğeleri seçmek ve stil vermek için yaygın olarak kullanılır. Bu yazıda:

  • Descendant seçicinin nasıl çalıştığını öğrendik.
  • Farklı kullanım senaryolarını inceledik (navigasyon, blog gönderileri, footer bağlantıları vb.).
  • Class seçicisi ile nasıl birlikte kullanılabileceğini gördük.

CSS yazarken descendant seçiciyi doğru ve verimli bir şekilde kullanmak, kod tekrarını azaltır ve projelerin yönetimini kolaylaştırır. Umarım bu yazı, descendant seçiciyi anlamanıza yardımcı olmuştur.

Etiketler

#Eğitimler#CSS Dersleri

İlgili Yazılar

Bu konuyla ilgili diğer yazılarımızı da inceleyebilirsiniz

CSS Nedir?
Genel

CSS Nedir?

### CSS Nedir? Web geliştirme dünyasında, bir web sayfasını hem işlevsel hem de görsel olarak etkileyici hale getirmek önemli bir adımdır. HTML bir web sayfasının iskeletini oluştururken, **CSS (Cascading Style Sheets)** ise bu iskeleti görsel bi

3 dk
HTML Sayfalarına CSS Eklemek
Genel

HTML Sayfalarına CSS Eklemek

CSS (Cascading Style Sheets), bir web sayfasının görünümünü ve düzenini kontrol etmemize olanak tanır. Ancak, CSS yazmaya başlamadan önce, bu stilleri **nerede** ve **nasıl** yazacağımızı öğrenmek önemlidir. Bu yazıda, CSS’i HTML sa

4 dk
CSS Color ve Background-Color
Genel

CSS Color ve Background-Color

CSS, bir web sayfasının görselliğini tamamen değiştirebileceğimiz güçlü bir araçtır. Bu yazıda, CSS’in en temel ve yaygın olarak kullanılan özelliklerinden ikisi olan `color` ve `background-color` özelliklerini inceleyeceğiz. Yeni başlayanlar için bu ö

4 dk
CSS Hexadecimal Renkler
Genel

CSS Hexadecimal Renkler

CSS'te renkleri tanımlamak için kullanılan birçok yöntem bulunmaktadır. Bunlardan biri de **hexadecimal** renklerdir. Hexadecimal renkler, RGB (kırmızı, yeşil, mavi) renk modeline dayanır ve web geliştirme dünyasında oldukça yaygın bir şekilde k

4 dk
CSS Metin Özellikleri
Genel

CSS Metin Özellikleri

CSS ile metinleri şekillendirmek, bir web sayfasını hem görsel açıdan daha çekici hale getirir hem de okunabilirliğini artırır. Bu yazıda, metinleri hizalamak, kalınlaştırmak, süslemek ve aralarındaki boşlukları kontrol etmek gibi yaygın CSS özelliklerini detaylı bir şekilde ele alacağız. Yazı

3 dk
CSS font-size Kullanımı
Genel

CSS font-size Kullanımı

CSS ile metinlerin boyutunu kontrol etmek için kullanılan özellik **`font-size`** özelliğidir. Bu özellik, web sayfanızdaki yazıların boyutunu belirlemenize olanak tanır. Yazı boyutunu ayarlamak oldukça basittir, ancak CSS’te boyutlar için ku

4 dk