CSS pseudo-element’ler, HTML yapısını değiştirmeden belirli bölümlere stil uygulamanıza olanak tanır. Gerçek DOM elemanı eklemeden tasarım geliştirme imkanı sunar. Özellikle modern UI tasarımlarında ve komponent bazlı mimarilerde yaygın olarak kullanılır.
📌 Temel Pseudo Element’ler
🔹 ::before
Bir elementin içeriğinden önce sanal içerik ekler.
Kullanım amacı:
- İkon ekleme
- Dekoratif çizgiler
- Badge göstergeleri
- Tooltip işaretleri
.button::before {
content: "★ ";
color: gold;
}
Not:
contentözelliği zorunludur.
🔹 ::after
Bir elementin içeriğinden sonra sanal içerik ekler.
Kullanım amacı:
- Temizleme (clearfix)
- Hover efektleri
- Alt çizgi animasyonları
- Bildirim baloncukları
.link::after {
content: "";
display: block;
height: 2px;
background: blue;
}
🔹 ::placeholder
Input alanındaki placeholder metnini stillendirir.
input::placeholder {
color: gray;
font-style: italic;
}
Kullanım alanı:
- Form UX geliştirme
- Kurumsal renk uyumu
- Erişilebilirlik iyileştirmesi
🔹 ::selection
Kullanıcı metni seçtiğinde uygulanacak stili belirler.
::selection {
background: black;
color: white;
}
Kullanım alanı:
- Marka kimliği uyumu
- Özel okuma deneyimi
🔹 ::first-letter
Bir paragrafın ilk harfini stillendirir.
p::first-letter {
font-size: 2rem;
font-weight: bold;
}
Kullanım alanı:
- Blog yazıları
- Dergi stili içerikler
- Drop cap tasarımı
🎯 Profesyonel Kullanım Senaryoları
1️⃣ Clearfix Tekniği
Float kullanılan eski layout sistemlerinde:
.container::after {
content: "";
display: block;
clear: both;
}
2️⃣ Hover Alt Çizgi Animasyonu
.nav-link {
position: relative;
}
.nav-link::after {
content: "";
position: absolute;
width: 0;
height: 2px;
bottom: -4px;
left: 0;
background-color: currentColor;
transition: width 0.3s ease;
}
.nav-link:hover::after {
width: 100%;
}
Modern navbar tasarımlarında yaygındır.
3️⃣ Badge / Notification Örneği
.notification {
position: relative;
}
.notification::after {
content: "3";
position: absolute;
top: -5px;
right: -5px;
background: red;
color: white;
font-size: 12px;
padding: 4px;
border-radius: 50%;
}
Dashboard ve admin panellerinde sık kullanılır.
📊 Pseudo Element vs Pseudo Class
| Özellik | Pseudo Element | Pseudo Class |
|---|---|---|
| Yazım | ::before | :hover |
| DOM ekler mi? | Hayır (sanal içerik) | Hayır |
| İçerik ekleyebilir mi? | Evet | Hayır |
| Durum değişimi | Hayır | Evet |
⚠️ Dikkat Edilmesi Gerekenler
::beforeve::afteriçincontentzorunludur.- Inline elementlerde çalışması için
displayayarı gerekebilir. - SEO açısından gerçek içerik yerine dekoratif amaçlı kullanılmalıdır.
- Erişilebilirlik (accessibility) için screen reader davranışı test edilmelidir.
🚀 Modern Frontend Perspektifi
Pseudo element’ler:
- React, Vue, Angular projelerinde aktif kullanılır.
- Utility-first CSS (Tailwind) ile birlikte çalışabilir.
- Performans açısından ekstra DOM node eklemekten daha avantajlıdır.
- Temiz ve semantik HTML yapısını korur.
🔥 Özet
CSS pseudo element’ler:
✔ HTML’i değiştirmeden stil ekler
✔ Modern UI tasarımlarını güçlendirir
✔ Performanslıdır
✔ Responsive tasarımlarda avantaj sağlar
✔ Kurumsal projelerde standarttır