# id # id: Wiederholtes Auftreten desselben einfachen Selektors sollte die Spezifität erhöhen, jedoch nicht für IDs in IE9

Für eine Weile benutze ich einen kleinen Trick, den ich für schlau hielt.

Das kombiniert den gleichen CSS-Selektor, um dem Selektor der Regel eine gewisse Spezifität zu verleihen.

CSS Specs erwähnen:

Hinweis: Wiederholte Vorkommen desselben einfachen Selektors sind zulässig und erhöhen die Spezifität.

http: //www.w3.org/TR/css3-selectors/#specificit

Zum Beispiel, wenn HTML @ i

<body>
    <section id="main">
        <header class="titles">
            <h2>Title red</h2>
            <h2 class="blue">Title blue</h2>
        </header>
        <h2 class="blue">Title blue</h2>
    </section>
</body>

Und CSS

#main .titles h2{
    color: red;
}
#main .blue.blue{
    color: blue;
}

uf diese Weise kann ich die Klasse @ verwend.blue um Stile zu überschreiben, Ereignis in der Kopfzeile ...

(Ich mache das, weil ich es hasse mit!important. Für mich sollte es unbedingt vermieden werden.)

Erster Selektor wiegt 0111 (1 ID, 1 Klasse, 1 Element) Zweiter Selektor wiegt 0120 (1 ID, 2 Klassen)

Manchmal mache ich das mit Ausweisen. Und es funktioniert ... in echten Browsern ... Dieser Selektor:

#main#main .blue{}

Sollte 0200 wiegen, da es 2 IDs hat, oder?

Well IE9 (hat keine anderen ausprobiert) interpretiert nicht mehrere identische IDs in Selektoren. Dieser Selektor überschreibt nicht#main .titles h2{} in IE9 ...

ie CSS-Konsole von @ IE zeigt einen berechneten Selektor gleich#main .blue und entfernt das zweite Vorkommen ...

Warum das

Für mich ist dies nur ein weiterer "Bug" in der IE-Implementierung.

Wie @BoltClock vorschlug, habe ich hier einen Bericht eingereicht:

https: //connect.microsoft.com/IE/feedbackdetail/view/958790/wiederholte-Häufigkeiten- desselben- einfachen- Auswählers sollten- die-Spezifität-eben-mit-den-Schnittstellen@ erhöhe

Antworten auf die Frage(1)

Ihre Antwort auf die Frage