2017-01-26 4 views
15

Was der Unterschied zwischen div::after {} und div:after {} ist? Wann müssen wir :: über : verwenden?Doppelpunkt (: :) Vs einzigen Doppelpunkt (:) bei CSS-Syntax

Die Doppelpunkt- und Einzelpunkt-Notation unterscheidet zwischen Pseudoklassen und Pseudo-Elementen.

Was bedeutet es, zwischen Pseudoklassen und Pseudoelementen zu unterscheiden?

Antwort

12

von https://css-tricks.com/almanac/selectors/a/after-and-before/:

Jeder Browser, der den doppelten Doppelpunkt unterstützt (: :) CSS3 Syntax unterstützt auch nur die (:) Syntax, aber IE 8 unterstützt nur die Single-Darm-, so für Jetzt wird empfohlen, einfach den Doppelpunkt für die beste Browser-Unterstützung zu verwenden.

:: ist das neuere Format eingerückt, um Pseudoinhalte von Pseudo Selektoren zu unterscheiden. Wenn Sie keine Unterstützung für IE 8 benötigen, können Sie den Doppelpunkt verwenden.

Pseudo Inhalt sind wie :after und :before

Pseudo Elemente (Selektoren gemäß CSS-Tricks) sind wie ::first-letter, ::first-line, ::nth-child usw.

Pseudo-Klasse sind wie:hover, :active

+0

Was genau bedeuten Pseudo-Inhalt von Pseudo-Selektoren zu unterscheiden? – Alice

+0

Aktualisierte Antwort, die den Unterschied erklärt –

+4

Wow, CSS-Tricks nennt sie "Pseudo-Inhalt" und "Pseudo-Selektoren"? Das ist ein neues Tief. Diese Antwort bringt es auch furchtbar in Verlegenheit - trotz des Zitats *, das klar von Einzel- gegen Doppel-Doppelpunkte spricht, benutzt man weiterhin einzelne Doppelpunkte für die sogenannten "Pseudo-Selektoren", und darüber hinaus liefert man völlig falsche Beispiele "zuerst " und zuletzt". – BoltClock

5

Pseudoklassen: wird automatisch vom Browser abhängig von der Position des Elements oder seines interaktiven Status angewendet.

Beispiel:

E:hover Spiele Elemente vom Typ E, wenn der Cursor schwebt über es ist.

Pseudo-Elemente: Es ist gilt Stile Inhalt basierend auf seiner Position in der HTML-Hierarchie.

Beispiel:

E::first-letter Dieser einen Stil zu dem ersten Buchstaben des ersten Linienelementes E.

also in einer Blockebene gilt

Die CSS3 Selektoren Spezifikation Präfixe Pseudo-Elemente mit zwei Doppelpunkten anstelle von eins. Also,: erster Buchstabe wird :: first-letter und: first-line wird :: first-line. IE 8 und früher verstehen nicht das Doppelpunkt-Präfix, so dass Sie die Single-Colon-Versionen verwenden müssen, um zu vermeiden, dass Stile in älteren Browsern brechen.