Ich recherchiere CSS und Typografie und bin auf dieses faszinierende Konzept von Pseudo-Selektoren gestoßen. Ich habe Pseudo-Selektoren mit einem Doppelpunkt verwendet und bin mit der Doppelpunkt-Version der Pseudo-Selektoren nicht vertraut. Ich verstehe Dieser doppelte Doppelpunkt wird als Pseudo-Element statt als Pseudo-Selektor bezeichnet – aber warum? Und was ist der Unterschied?
Ich verstehe auch, dass der einzelne Doppelpunkt viel besser unterstützt wird. In welcher Situation würde man also das doppelte Doppelpunkt-Pseudoelement verwenden? Gibt es Anwendungsfälle, in denen ein doppelter Doppelpunkt erforderlich wäre und ein einzelner Doppelpunkt nicht ausreichen würde? was könnte das für eine Situation sein?
“Im Gegensatz zu Pseudoelementen können Pseudoklassen überall in der Selektorkette erscheinen.” (Zitat aus Link) – Ich weiß nicht, was “Selektorkette” ist, aber dies scheint auch eine weitere Einschränkung des Doppelpunkt-Ansatzes zu sein. Warum sollte ich einen doppelten Doppelpunkt verwenden, wenn es (meiner Meinung nach) nur eine weniger unterstützte Version eines einzelnen Doppelpunkts ist?
Bearbeiten: Sie scheinen funktionell nicht gleich zu sein: Geige
<div><p>First Line</p></div>
<div><p>Second Line</p></div>
css
div:nth-child(1) > p {
color: green;
}
div::nth-child(2) > p {
color: blue;
}
Wie MDN-Staaten: “Manchmal sehen Sie doppelte Doppelpunkte (::) statt nur einem (:). Dies ist Teil von CSS3 und ein Versuch, zwischen Pseudo-Klassen und Pseudo-Elementen zu unterscheiden. Die meisten Browser unterstützen beide Werte.”
– j08691
20. April 2015 um 17:39 Uhr
Entsprechend developer.mozilla.org/en/docs/Web/CSS/:nth-child nth-child ist ein Pseudo-Klassen-Selektor, daher sollten Sie einen einzelnen Doppelpunkt und keinen doppelten Doppelpunkt verwenden (da es sich nicht um einen Psedo-Element-Selektor handelt).
– José Cabo
20. April 2015 um 17:43 Uhr
Warum nennen Sie sie Pseudo-Selektoren, wenn die Dokumentation sie Pseudo-Klassen nennt?
– Herr Lister
20. April 2015 um 17:45 Uhr
@Mr Lister: Ich vermute, dass ihre Verwendung des Begriffs genau der Grund für diese Frage ist.
– BoltClock
21. April 2015 um 7:23 Uhr