Überschreibende Eigenschaften in CSS

8
%Vor%

Dann habe ich

%Vor%

Ich möchte, dass die erste span width 190px ist und die zweite 10px. Aber beide sind 190px: Warum überschreibt es nicht width propoerty?

EDIT: Danke für Ihre Antworten. Was ist mit der Unschärferbreite? Ich möchte keine 10px Breite, nur die Standardbreite, als wäre sie undefiniert

    
de3 09.06.2011, 15:26
quelle

6 Antworten

9

Weil id + selector (#iddiv span) spezifischer ist als eine Klasse. Entweder

%Vor%

oder

%Vor%

sollte in diesem Fall funktionieren.

Erfahren Sie mehr über CSS-Spezifität hier oder indem Sie es googlen.

    
RwwL 09.06.2011, 15:29
quelle
22

Sie können immer das !important -Flag zum Überschreiben verwenden:

%Vor%     
Eric 09.06.2011 15:30
quelle
4

CSS wendet Stile entsprechend der Spezifität der Selektoren an

#iddiv span ist spezifischer als myclass . Wenn Sie es in #iddiv .myclass ändern, sollte das Problem für Sie behoben werden.

Hier ist ein Artikel, der tiefer geht: Ссылка

    
JohnP 09.06.2011 15:29
quelle
1

Es funktioniert nicht, weil der erste Stil spezifischer ist.

Um es zu beheben, stelle sicher, dass du das zweite span direkter anzielst, wie dieses

#iddiv span.myclass

Ссылка

    
Jason Gennaro 09.06.2011 15:30
quelle
1

Zunächst würde ich vorschlagen, dass Sie Ihre Selektoren richtig anvisieren, wie andere vorschlagen.

Aber wenn alles andere fehlschlägt, können Sie ! wichtig verwenden.

    
Kon 09.06.2011 15:31
quelle
1

Denken Sie daran, das Schlüsselwort! wichtig zu verwenden, das die übergeordneten Regeln überschreibt.

Sie können Ihre "myclass" auch folgendermaßen definieren:

%Vor%     
woodykiddy 09.06.2011 15:43
quelle

Tags und Links