Tiefes Verständnis der Verwendung von ::before/:before und ::after/:after

Tiefes Verständnis der Verwendung von ::before/:before und ::after/:after

Teil 1: Grundlagen

1. Im Gegensatz zu Pseudoklassen wie :active und :hover sind sie alle Pseudoelemente.

2. Die Pseudoelemente :before/:after wurden in CSS2 vorgeschlagen. ::before/::after ist die Schreibweise in CSS3. Es wird erneut vorgeschlagen, zwei Doppelpunkte zur Darstellung von Pseudoelementen zu verwenden, um Pseudoklassen zu unterscheiden.

3. Sie werden nach einem Selektor in CSS verwendet, um dekorativen Inhalt hinzuzufügen, da dadurch Semantik erreicht werden kann. Wenn HTML verwendet wird, um einige Knoten ohne tatsächlichen Inhalt oder zusätzlichen Beispieltext hinzuzufügen, sind sie bedeutungslos.

4. Sie verfügen über ein eindeutiges Attribut „content“, wobei der hinzugefügte Inhalt standardmäßig ein Inline-Element ist.

5. Das erstellte Pseudoelement befindet sich über dem Element, an das es standardmäßig angehängt ist. Wir können z-index:-1; verwenden, um es darunter zu platzieren.

6. Es handelt sich um virtuelle Knoten, nicht um reale Knoten. wie:

 div::nach{
            Inhalt: " ";
            Rand: dünnes, durchgehendes Rot;
        }

Wir können im Browser sehen:

::after ist kein echter Knoten, wird aber häufig auf einigen Websites verwendet.

6. Elemente wie Eingabe, Bild, Iframe usw. können keine anderen Elemente enthalten, daher kann kein Inhalt über Pseudoelemente eingefügt werden.

Teil II: Anwendung

1. Als Trennzeichen verwenden.

 <!DOCTYPE html>
<html lang="de">
<Kopf>
    <meta charset="UTF-8">
    <title>Pseudo-Element</title>
    <Stil>
        A{
            Farbe: blau;
            Textdekoration: keine;
        }
        .log:nach{
            Inhalt: "|";
            Farbe: rot;
        }
    </Stil>
</Kopf>
<Text>
    <a href="" class="log">Anmelden</a><a href="">Registrieren</a>
</body>
</html>

Die Wirkung ist wie folgt:

2. Bilden Sie ein Dreieck

 <!DOCTYPE html>
<html lang="de">
<Kopf>
    <meta charset="UTF-8">
    <title>Pseudo-Element</title>
    <Stil>
        A{
            Farbe: blau;
            Textdekoration: keine;
        }
        .log:vor{
            Inhalt:" ";
            Anzeige: Inline-Block;
            Breite: 0;
            Höhe: 0;
            Rand: 10px durchgehend transparent;
            Rahmen links: 10px durchgehend rot;
        }
    </Stil>
</Kopf>
<Text>
    <a href="" class="log">Anmelden</a>
</body>
</html>

Die Wirkung ist wie folgt:

3. Klares Schweben (der folgende Inhalt stammt von Zhang Xinxu)

 <!DOCTYPE html>
<html lang="de">
<Kopf>
    <meta charset="UTF-8">
    <title>Pseudo-Element</title>
    <Stil>
    .box{padding:10px; Hintergrund:grau;}
    .fix{*zoom:1;}
    .fix:after{display:block; content:"clear"; height:0; clear:both; overflow:hidden; visibility:hidden;}
    .l{float:left;}
    </Stil>
</Kopf>
<Text>
    <div Klasse="Box fix">
    <img class="l" src="http://image.zhangxinxu.com/image/study/s/s256/mm1.jpg" />
</div>
</body>
</html>

Die Wirkung ist wie folgt:

Hinweis: *zoom:1; wird zum Löschen von Floats in IE6 verwendet (wird für das übergeordnete Element des Float-Elements verwendet).

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels Ihnen bei Ihrem Studium oder Ihrer Arbeit hilfreich sein kann. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen.

<<:  Beispielcode für HTML-Formularkomponente

>>:  Implementierung von Wasserfall-Layout + dynamischem Rendering

Artikel empfehlen

Detaillierte Erklärung der Lösung für den 404-Fehler von Tomcat

Das 404-Problem tritt im Tomcat-Test auf. Die Pro...

Webdesign-Tutorial (4): Über Materialien und Ausdrücke

<br />Vorheriges Webdesign-Tutorial: Webdesi...

HTML CSS3 streckt den Bildanzeigeeffekt nicht

1. Verwenden Sie das Transform-Attribut, um das B...

Implementierung eines schwebenden Werbestreifens in HTML und CSS

1.html Teil Code kopieren Der Code lautet wie folg...

Führen Sie die Schritte zur Verwendung von mock.js im Vue-Projekt aus

Verwenden von mock.js im Vue-Projekt Auswahl des ...

Flammenanimation mit CSS3 umgesetzt

Ergebnisse erzielen Implementierungscode html <...

Lösung für MySQL 8.0 kann nicht gestartet werden 3534

Der MySQL 8.0-Dienst kann nicht gestartet werden ...

Detaillierte Erklärung der Abkürzung von State in React

Vorwort Was ist Staat Wir alle sagen, dass React ...

HTML-Tabellen-Markup-Tutorial (18): Tabellenkopf

<br />Die Kopfzeile bezieht sich auf die ers...

Durchführung der lokalen Migration von Docker-Images

Ich habe vor Kurzem Docker gelernt und stoße dabe...