CSS Özgüleşme Hesaplayıcı Çevrimiçi. Seçici Ağırlık Görselleştiricisi

Herhangi bir CSS seçicinin özgüleşmesini ve tam ağırlığını hesaplayın. Hangi CSS kuralının kaskada galip geldiğini anlamak için görsel araç ve !important kullanımından kaçının.

VS
Bu seçici kazanır!
0 ID
0 Sınıflar / Sözde sınıflar
0 Öğeler
Bu seçici kazanır!
0 ID
0 Sınıflar / Sözde sınıflar
0 Öğeler
Her iki seçici de aynı ağırlığa sahiptir. Aynı öğe için rekabet ederlerse, CSS'de son yazılan kazanır.
Araç Stüdyosu

Bu aracı kendi sitenizde kullanmak ister misiniz?

WordPress, Notion veya kendi siteniz için renkleri ve karanlık modu özelleştirin.

Sıkça Sorulan Sorular

CSS özgüleşmesi nedir?

Özgüleşme, tarayıcıların birden fazla kural yarıştığında hangi CSS kuralının bir öğeye uygulanacağını belirlemek için kullandığı algoritmadır. Sırasıyla ID'leri, sınıfları/öznitelikleri/sözde sınıfları ve öğeleri/sözde öğeleri gösteren üç sütunlu bir skor (A, B, C) ile temsil edilir.

Bir sınıf özgüleşmede hiçbir zaman bir ID'yi yenebilir mi?

Doğrudan hayır. Bir ID (1,0,0) her zaman herhangi sayıda sınıfı (0,N,0) yener çünkü özgüleşmenin sütunlar arasında taşması yoktur. Yüz sınıf (0,100,0) hiçbir zaman tek bir ID (1,0,0) yenmeyecektir.

İki seçicinin aynı özgüleşmesi varsa ne olur?

İki seçici tam olarak aynı ağırlığa sahip olduğunda, CSS dosyasında son olarak bildirilen seçici kazanır. Buna doğal kaskad sırası denir. Bu hesaplayıcı, bir beraberlik oluştuğunda sizi görsel olarak uyarır.

Neden !important kullanmak kötü bir uygulama olarak kabul edilir?

İçin !important yönergesi, doğal CSS kaskadını kırar bir bildirim başka bir kuralın üzerinde zorlar. Bu, büyük projelerde takip etmesi zor olan çatışmalar oluşturur. BEM gibi metodolojiler, özgüleşmeyi düz tutmanın hiçbir zaman !important gerekmemesini savunur.

# CSS Özgüleşmesi Nedir?

CSS özgüleşmesi, tarayıcıların belirli bir öğeye hangi özellik değerlerinin uygulanacağına karar vermek için kullandığı algoritmadır. Esasen tarayıcıya bir kuralın ne kadar "spesifik" olduğunu söyleyen matematiksel bir puandır.İki kuralın farklı özgüleşme düzeyleri varsa, yazıldıkları sıra ne olursa olsun yüksek ağırlığa sahip olan kazanır. Her ikisi de aynı ağırlığa sahipse, kaynak kodda en son bildirilen kazanır.

# CSS Özgüleşmesi Nasıl Hesaplanır

Özgüleşme, genellikle (A, B, C) olarak ifade edilen üç sütunlu bir ağırlık oluşturan üç kategoriye dayalı olarak hesaplanır:
  • A Sütunu (ID): Benzersiz tanımlayıcıların sayısını sayar. Örnek: #header A sütununda 1 olarak sayılır.
  • B Sütunu (Sınıflar, Öznitelikler ve Sözde sınıflar): Tüm sınıfları (.button), öznitelikleri ([type="text"]) ve sözde sınıfları (:hover) sayar.
  • C Sütunu (Öğeler ve Sözde öğeler): Tüm HTML öğelerini (div, h1) ve sözde öğeleri (::before) sayar.

# Altın Kural: Sütunlar Arasında Taşma Yok

Özgüleşmesi (0,50,0) olan bir kural asla bir kural (1,0,0) kadar spesifik olmayacak. Tek bir ID sonsuz sayıda sınıfı yener. Sütunlar hiçbir zaman birbirinin içine taşmaz.

# BEM Mimarisi ile !important Sorunu

!important yönergesi özgüleşme kurallarının bir istisnasıdır. Kullanıldığında, bu bildirim otomatik olarak başka bir kuralı geçersiz kılar. Doğal kaskadı bozduğu için kötü bir uygulama olarak kabul edilir.Büyük projelerde özgüleşme savaşlarından kaçınmak için BEM gibi metodolojiler, özgüleşmeyi yapay olarak (0,1,0) düzeyinde tutmak için yalnızca tek derinlik sınıf seçicileri kullanmayı savunur.

Bibliyografik Referanslar