Inhaltsverzeichnis
Definition
Unterschied
Geschichte
Hinweis
Heim Web-Frontend CSS-Tutorial Über die Unterschiede und Vorsichtsmaßnahmen zwischen Pseudoklassen und Pseudoelementen in CSS3

Über die Unterschiede und Vorsichtsmaßnahmen zwischen Pseudoklassen und Pseudoelementen in CSS3

May 21, 2017 pm 03:29 PM

Die Konzepte von Pseudoklassen und Pseudoelementen in CSS können leicht verwechselt werden

Heute sprechen wir über den Unterschied zwischen Pseudoklassen und Pseudoelementen


Definition

Werfen wir zunächst einen Blick auf die Definitionen von Pseudoklassen und Pseudoelementen
w3cerklärt sie auf diese Weise

  • Pseudoklasse: Wird zum Hinzufügen von Spezialeffekten zu bestimmten Selektoren verwendet.

  • Pseudoelement: Wird zum Hinzufügen von Spezialeffekten zu bestimmten Selektoren verwendet.

Um ehrlich zu sein, vielleicht ist mein Chinesisch nicht gut, ich denke, diese beiden Sätze sind gleichwertig :-)
Ich kann überhaupt keinen Unterschied erkennen
Beide fügen einigen Selektoren „add“ hinzu. Stunt „

Der Standard hat einen solchen Satz, der wie folgt übersetzt wird

CSS führt die Konzepte von Pseudoklasse und Pseudoelement ein, um sie umzusetzen Das auf Formatierung von Informationen außerhalb des Baums

basierende Dokument ist abstrakter. Tatsächlich bedeutet es zusätzliche Elemente, die wir nicht über Klasse auswählen können usw.

Unterschied

Wir brauchen ein Beispiel, um diesen Unterschied zu verstehen

<p>
    <em>This</em>
    <em>is a text</em></p>
Nach dem Login kopieren
Nach dem Login kopieren

Was wäre, wenn wir die Schriftfarbe von Das erste EM-Tag wird rot. Wie es geht
Es ist einfach, die bekannten Pseudoklassen zu verwenden

em:first-child {    color: red;}
Nach dem Login kopieren

Aber was machen wir, wenn es keine gibt Pseudoklassen?
Das müssen wir tun. Der gleiche Effekt kann durch Hinzufügen der Klasse

<p>
    <em class="first-child">This</em>
    <em>is a text</em></p>
Nach dem Login kopieren
em.first-child {    color: red;}
Nach dem Login kopieren

zum ersten em-Tag


<p>
    <em>This</em>
    <em>is a text</em></p>
Nach dem Login kopieren
Nach dem Login kopieren
erzielt werden

Noch dieses Beispiel
Jetzt möchte ich den Absatz „Wie man einen Buchstaben rot färbt“

Dieses Mal müssen wir Pseudoelemente verwenden

p::first-letter {    color: red;}
Nach dem Login kopieren

Gehen wir ebenfalls davon aus, dass es keine Pseudoelemente gibt
Zu diesem Zeitpunkt können wir nur Span-Tags verschachteln, um

<p>
    <em><span>T</span>his</em>
    <em>is a text</em></p>
Nach dem Login kopieren
p span {    color: red;}
Nach dem Login kopieren

Da ich das sehe, glaube ich, dass jeder verstanden hat, warum Eine wird als Pseudoklasse und die andere als Pseudoelement bezeichnet.
Pseudoklasse Der Effekt kann durch Hinzufügen tatsächlicher Klassen erzielt werden.
Der Effekt von Pseudoelementen kann durch Hinzufügen tatsächlicher Elemente erzielt werden.
Ihre Der wesentliche Unterschied besteht darin, ob Abstraktion neue Elemente erstellt

Geschichte

Pseudoklassen wurden ursprünglich verwendet, um die Dynamik von Elementen darzustellen (typische Anker-Pseudoklassen Link, Visited, Hover). , aktiv)
Es wurde im CSS2-Standard erweitert, sodass Logik vorhanden ist, aber nicht im DOM-Baum identifiziert werden muss.
Pseudoelemente stellen untergeordnete Elemente eines bestimmten Elements dar. Obwohl Logik vorhanden ist, existiert sie nicht im DOM-Baum

Obwohl ihre Konzepte von uns leicht verwechselt werden
Aber es hat keinen Einfluss auf unsere normale Verwendung

Ich sagte in der Einführung und Zusammenfassung der Verwendung von CSS3-Selektoren
Pseudo Klassen können nur „:“ verwenden
Und Pseudoelemente können „:“ verwenden, Sie können auch „::“ verwenden
Hier werde ich erklären, warum


Der Standard in CSS3 ist das Pseudoklassen verwenden einen einzelnen Doppelpunkt „:“
, während Pseudoelemente einen Doppelpunkt „: :“ verwenden (um Verwirrung zu vermeiden)
Davor verwendeten jedoch sowohl Pseudoklassen als auch Pseudoelemente einen einzelnen Doppelpunkt „ :"
Um die Kompatibilität mit Pseudoelementen sicherzustellen, sind also beide Verwendungsmethoden möglich
Aber die niedrigere Version des IE weist ein Kompatibilitätsproblem mit Doppelpunkten auf
, sodass Leute, die früher Stile geschrieben haben, einfach Singles verwendet haben Doppelpunkte für Pseudoklassen und Pseudoelemente
, wodurch diese Verwirrung anhält

Hinweis

Bei der Verwendung von Pseudoklassen und Pseudoelementen
Eine Sache, auf die man besonders achten sollte, ist
Pseudoklassen sind genau wie echte Klassen und können in Kombination verwendet werden
Es gibt keine Obergrenze für die Anzahl, solange sie sich nicht gegenseitig ausschließen
Zum Beispiel: 🎜>

em:first-child:hover {    color: red;}
Nach dem Login kopieren
Das ist völlig okay

Aber beachten Sie, dass hier die Beziehung zwischen „und“ ist
Das heißt, es muss sowohl das erste untergeordnete Element „erstes Kind“
als auch das


erfüllen Pseudo-Element ist viel strenger, wenn es um die „Hover“-Cursor-Aufhängung geht


Das Pseudo-Element kann nur einmal in einem Selektor und nur am Ende erscheinen (Einige Schüler haben das falsch verstanden hier, also habe ich Änderungen vorgenommen)
Die folgenden Stile werden nicht wirksam

p::first-letter:hover {  /*错误的写法:伪元素不是末尾*/
    color: red;}
Nach dem Login kopieren
p::first-letter::selection {  /*错误的写法:伪元素出现了多个*/
    color: red;}
Nach dem Login kopieren

Lassen Sie mich noch etwas dazu sagen

Priorität Bei der Berechnung von Gewichten
Pseudoklassen haben die gleiche Priorität wie Klassen
Pseudoelemente haben die gleiche Priorität wie Tags

Zusammenfassung

  • Pseudoklassen und Pseudo Elemente werden beide verwendet, um Selektoren Spezialeffekte hinzuzufügen

  • Der wesentliche Unterschied zwischen Pseudoklassen und Pseudoelementen besteht darin, ob durch Abstraktion neue Elemente erstellt werden

  • Pseudo -Klassen können überlagert werden, solange sie sich nicht gegenseitig ausschließen

  • Pseudoelemente können nur einmal in einem Selektor und nur am Ende erscheinen

  • Die Priorität von Pseudoklasse und Pseudoelement ist dieselbe wie die Priorität von Klasse bzw. Tag

Das obige ist der detaillierte Inhalt vonÜber die Unterschiede und Vorsichtsmaßnahmen zwischen Pseudoklassen und Pseudoelementen in CSS3. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie erzielt man mit reinem CSS3 einen Welleneffekt? (Codebeispiel) Wie erzielt man mit reinem CSS3 einen Welleneffekt? (Codebeispiel) Jun 28, 2022 pm 01:39 PM

Wie erzielt man mit reinem CSS3 einen Welleneffekt? In diesem Artikel erfahren Sie, wie Sie mit SVG- und CSS-Animationen Welleneffekte erstellen.

Verwenden Sie CSS geschickt, um verschiedene seltsam geformte Schaltflächen zu realisieren (mit Code). Verwenden Sie CSS geschickt, um verschiedene seltsam geformte Schaltflächen zu realisieren (mit Code). Jul 19, 2022 am 11:28 AM

Dieser Artikel zeigt Ihnen, wie Sie mithilfe von CSS auf einfache Weise verschiedene seltsam geformte Schaltflächen realisieren können, die häufig vorkommen. Ich hoffe, dass er Ihnen hilfreich sein wird!

So verstecken Sie Elemente in CSS, ohne Platz zu beanspruchen So verstecken Sie Elemente in CSS, ohne Platz zu beanspruchen Jun 01, 2022 pm 07:15 PM

Zwei Methoden: 1. Fügen Sie mit dem Anzeigeattribut einfach den Stil „display:none;“ zum Element hinzu. 2. Verwenden Sie die Attribute „position“ und „top“, um die absolute Positionierung des Elements festzulegen, um das Element auszublenden. Fügen Sie dem Element einfach den Stil „position:absolute;top:-9999px;“ hinzu.

So implementieren Sie Spitzenränder in CSS3 So implementieren Sie Spitzenränder in CSS3 Sep 16, 2022 pm 07:11 PM

In CSS können Sie das Attribut „border-image“ verwenden, um einen Spitzenrand zu erzielen. Das Attribut „border-image“ kann Bilder zum Erstellen von Rändern verwenden, d. h. zum Hinzufügen eines Hintergrundbilds zum Rand. Sie müssen lediglich das Hintergrundbild als Spitzenstil angeben Bildrandbreite nach innen. Ob der Anfang wiederholt wird;".

Es zeigt sich, dass Textkarussell und Bildkarussell auch mit reinem CSS realisierbar sind! Es zeigt sich, dass Textkarussell und Bildkarussell auch mit reinem CSS realisierbar sind! Jun 10, 2022 pm 01:00 PM

Wie erstelle ich ein Textkarussell und ein Bildkarussell? Das erste, woran jeder denkt, ist die Verwendung von js. Tatsächlich können Textkarussell und Bildkarussell auch einen Blick auf die Implementierungsmethode werfen.

Verwenden Sie den Pseudoklassenselektor :nth-child(n+3), um den Stil untergeordneter Elemente auszuwählen, deren Position größer oder gleich 3 ist Verwenden Sie den Pseudoklassenselektor :nth-child(n+3), um den Stil untergeordneter Elemente auszuwählen, deren Position größer oder gleich 3 ist Nov 20, 2023 am 11:20 AM

Verwenden Sie den Pseudoklassenselektor :nth-child(n+3), um den Stil untergeordneter Elemente auszuwählen, deren Position größer oder gleich 3 ist. Das spezifische Codebeispiel lautet wie folgt: HTML-Code: &lt;divid="container" &gt;&lt;divclass="item"&gt ;Erstes untergeordnetes Element&lt;/div&gt;&lt;divclass="item"&

Warum scheitern Pseudoelemente? Warum scheitern Pseudoelemente? Nov 21, 2023 pm 05:13 PM

Gründe für Pseudoelementfehler: 1. Selektorprobleme; 3. Vererbungsprobleme; 5. Probleme mit der Browserkompatibilität; Detaillierte Einführung: 1. Selektorproblem: Der Selektor des Pseudoelements ist möglicherweise falsch, was dazu führt, dass das Zielelement nicht ausgewählt werden kann. 2. Stilkonflikt: Wenn in CSS ein Stilkonflikt vorliegt, wird das Pseudoelement möglicherweise ungültig. 3. Vererbungsproblem, Pseudoelemente erben möglicherweise nicht bestimmte Stilattribute; 4. Syntaxfehler im CSS können dazu führen, dass die Pseudoelemente ungültig werden.

CSS3, was ist adaptives Layout? CSS3, was ist adaptives Layout? Jun 02, 2022 pm 12:05 PM

Adaptives Layout, auch „responsives Layout“ genannt, bezieht sich auf ein Webseitenlayout, das die Bildschirmbreite automatisch erkennen und entsprechende Anpassungen vornehmen kann. Eine solche Webseite kann mit mehreren verschiedenen Terminals kompatibel sein, anstatt für jedes Terminal eine bestimmte Version zu erstellen. . Das adaptive Layout wurde entwickelt, um das Problem des mobilen Surfens im Internet zu lösen und kann Benutzern, die verschiedene Terminals verwenden, eine gute Benutzererfahrung bieten.

See all articles