Überlappende Regeln in CSS - was ist die wahre Logik dahinter?

8

Betrachten Sie Folgendes:

%Vor%

In meinem CSS gibt es zwei Regeln, die für diesen Selektor passen würden:

%Vor%

Und der zweite ist:

%Vor%

Die zweite Regel zum Festlegen von background-color auf white wird nicht abgeglichen. Ich würde denken, das wäre die Regel, die die vorherige Regel überschreibt, da sie spezifischer ist (Zellen mit der Klasse datepickerDisabled ).

    
oneiros 07.08.2012, 13:58
quelle

1 Antwort

11

"0,0,2,2 vs. 0,0,2,1. Die erste gewinnt klar."

%Vor%

Wenn Sie dieses Format nicht verstehen, lesen Sie Ссылка :

  

Die Spezifität eines Selektors wird wie folgt berechnet:

     
  • count 1, wenn die Deklaration von ist, ist ein 'style' Attribut und nicht eine Regel mit einem Selektor, sonst 0 (= a) (In HTML, Werte von a   elements "style" -Attribut sind Stylesheet-Regeln. Diese Regeln haben keine   Selektoren, also a = 1, b = 0, c = 0 und d = 0.)
  •   
  • zählt die Anzahl der ID-Attribute im Selektor (= b)
  •   
  • zählt die Anzahl der anderen Attribute und Pseudoklassen im Selektor (= c)
  •   
  • zählt die Anzahl der Elementnamen und Pseudo-Elemente im Selektor (= d) Die Spezifität basiert nur auf der Form des   Wähler. Insbesondere wird ein Selektor der Form "[id = p33]" gezählt   als Attributselektor (a = 0, b = 0, c = 1, d = 0), auch wenn die ID   Attribut ist in der DTD des Quelldokuments als "ID" definiert.
  •   

Verkettung der vier Zahlen a-b-c-d (in einem Zahlensystem mit a   große Base) gibt die Spezifität.

Wenn Sie ein Bild Quelle bevorzugen:

    
Rob W 07.08.2012, 14:05
quelle

Tags und Links