Dinge, die Sie nicht über die CSS-Pseudoelemente ::before und ::after wissen

Dinge, die Sie nicht über die CSS-Pseudoelemente ::before und ::after wissen

CSS hat zwei Pseudoklassen, die nicht häufig verwendet werden: before und :after. Sie werden gelegentlich verwendet, um benutzerdefinierte Formatierungen hinzuzufügen, aber ihre Funktionen sind nicht darauf beschränkt. Vor ein paar Tagen habe ich Creative Link Effects gefunden, eine sehr interessante Seite, die kreative Link-Effekte vorstellt. Die erstaunlichen Effekte darin verwenden viele Funktionen, zusätzlich zum Transform-Attribut für die Verformung die beiden Pseudoelemente, die ich als nächstes vorstellen werde.

Creative Button Styles

Kreative Schaltflächenstile

Eine grundlegende Grammatik

Bevor wir uns mit fortgeschrittenen Anwendungen befassen, wollen wir zunächst die Grammatikregeln verstehen. Wenn Sie diese beiden Pseudoelemente nur zum Hinzufügen einiger benutzerdefinierter Zeichen benötigen, verwenden Sie normalerweise einfach die von Pseudoklassen verwendete Einzeldoppelpunktnotation, um die Browserkompatibilität sicherzustellen:

CSS- CodeInhalt in die Zwischenablage kopieren
  1. p:vor {}

In CSS3 werden jedoch doppelte Doppelpunkte verwendet, um Pseudoelemente von Pseudoklassen zu unterscheiden. Wenn also Attribute wie display oder width verwendet werden, damit das display vom ursprünglichen Element getrennt wird, ist es laut Standard empfehlenswert, diese in doppelten Doppelpunkten zu schreiben. Bei älteren Browsern kann es zu Supportproblemen kommen, aber Pseudoelemente werden meistens mit CSS3 verwendet, sodass die Abwärtskompatibilität kein großes Problem darstellt:

CSS- CodeInhalt in die Zwischenablage kopieren
  1. img::nach {}

Das für diese beiden Pseudoklassen eindeutige Inhaltsattribut wird verwendet, um beim CSS-Rendering dem logischen Kopf oder Ende des Elements Inhalt hinzuzufügen. Beachten Sie, dass diese Ergänzungen den Dokumentinhalt nicht ändern, nicht im DOM erscheinen, nicht replizierbar sind und nur der CSS-Rendering-Ebene hinzugefügt werden. Sinnvoller sind folgende Werte:

•[Zeichenfolge] – Wenn Sie eine Zeichenfolge in Anführungszeichen setzen, wird die Zeichenfolge dem Elementinhalt hinzugefügt. Beispiel:

CSS- CodeInhalt in die Zwischenablage kopieren
  1. •a:nach { Inhalt : "↗" ; }
attr() – Ruft die Attribute des aktuellen Elements auf, was beispielsweise für die Anzeige des Alt-Textes eines Bildes oder der Href-Adresse eines Links praktisch sein kann. Beispiel:
CSS- CodeInhalt in die Zwischenablage kopieren
  1. •a:nach { Inhalt : "("   attr (href) ")" ; }
url() / uri() – wird zum Referenzieren von Mediendateien verwendet. Beispiel:
CSS- CodeInhalt in die Zwischenablage kopieren
  1. •h 1: :vor { Inhalt : url (logo.png); }
counter() – Ruft den Zähler auf, um die Seriennummernfunktionalität ohne Verwendung von Listenelementen zu implementieren. Einzelheiten finden Sie unter Verwendung der Eigenschaften „Zählerinkrement“ und „Zählerreset“. Beispiel:
CSS- CodeInhalt in die Zwischenablage kopieren
  1. h 2: vor { Zähler Zähler-Inkrement : Kapitel; Inhalt : "Kapitel "   Zähler (Kapitel) ". " }

Zweite fortgeschrittene Fähigkeiten

Das Löschen von Floats ist ein häufig auftretendes Problem. Viele Leute lösen es, indem sie ein leeres Div hinzufügen und das Attribut clear:both; anwenden. Anstatt bedeutungslose Elemente hinzuzufügen, benötigen Sie nun nur noch die folgenden Stile, um den Float am Ende des Elements automatisch zu löschen:

CSS- CodeInhalt in die Zwischenablage kopieren
  1. . clear -fix { * Überlauf : versteckt ; *Zoom: 1; }
  2. . clear -fix:after { Anzeige : Tabelle; Inhalt : "" ; Breite : 0; Clear : beides ; }

Viele Leute fügen gerne große Anführungszeichen als Hintergrund für das Blockzitat hinzu. In diesem Fall können wir :before anstelle von background verwenden, wodurch Platz für den Hintergrund bleibt und Text anstelle von Bildern verwendet werden kann:

CSS- CodeInhalt in die Zwischenablage kopieren
  1. blockquote::vor {
  2.      Inhalt : offenes Zitat ;
  3.      Position : absolut ;
  4.      z-Index : -1;
  5.      Farbe : #DDD ;
  6.      Schriftgröße : 120px ;
  7.      Schriftfamilie : Serif ;
  8.      Schriftstärke : fetter ;
  9. }

Drei Spezialeffekte

Zusätzlich zum einfachen Hinzufügen von Zeichen ist es mit den leistungsstarken Positionierungs- und Spezialeffektfunktionen von CSS durchaus möglich, einfachen Elementen bis zu zwei Container hinzuzufügen. Zu beachten ist: Wenn Sie den Inhalt nicht benötigen und das Stilattribut nur zur Erzeugung eines Effekts verwenden möchten, darf das Inhaltsattribut nicht leer sein, d. h. Inhalt:““. Andernfalls werden andere Stilattribute nicht wirksam.

懸浮出現方括號

Beim Hovern erscheinen eckige Klammern

Bewegen Sie die Maus über den Link und es erscheinen eckige Klammern:

CSS- CodeInhalt in die Zwischenablage kopieren
  1. A {
  2.      Position : relativ ;
  3.      Anzeige : Inline - Block ;
  4.      Umriss : keiner ;
  5.      Textdekoration : keine ;
  6.      Farbe : #000 ;
  7.      Schriftgröße : 32px ;
  8.      Polsterung : 5px   10px ;
  9. }
  10.      
  11. a:hover::vorher, a:hover::nachher { position : absolut ; }
  12. a:hover::vor { Inhalt : "\5B" ; links : - 20px ; }
  13. a:hover::after { Inhalt : "\5D" ; rechts rechts : - 20px ; }

In ähnlicher Weise müssen wir nur display: block und position: absolute verwenden, um es als zwei Container zu behandeln und sie zu kombinieren, um beim Anhalten einen Doppelrahmeneffekt zu erzeugen:

CSS- CodeInhalt in die Zwischenablage kopieren
  1. A {
  2.      Position : relativ ;
  3.      Anzeige : Inline - Block ;
  4.      Umriss : keiner ;
  5.      Textdekoration : keine ;
  6.      Farbe : #000 ;
  7.      Schriftgröße : 32px ;
  8.      Polsterung : 0 10px ;
  9. }
  10.      
  11. /* Großer Rahmen */      
  12. a:hover::vorher, a:hover::nachher {
  13.      Inhalt : "" ;
  14.      Anzeige : Block ;
  15.      Position : absolut ;
  16.      oben : -15 %%;
  17.      links : -14 %%;
  18.      Breite : 120 %;
  19.      Höhe : 120 %;
  20.      Rahmenstil : durchgezogen ;
  21.      Rahmenbreite : 4px ;
  22.      Rahmenfarbe : #DDD ;
  23. }
  24.      
  25. /* Kleiner Rahmen */      
  26. ein:hover::nach {
  27.      oben : 0 %;
  28.      links : 0 %;
  29.      Breite : 100 %;
  30.      Höhe : 100 %;
  31.      Rahmenbreite : 2px ;
  32. }

Der obige Artikel über die unbekannte Verwendung von CSS-Pseudoelementen ::before und ::after ist der gesamte Inhalt, den der Editor mit Ihnen teilt. Ich hoffe, er kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden.

Original-URL: http://www.cnblogs.com/androidshouce/archive/2016/06/12/5576493.html

<<:  Implementierungscode zum Erstellen von Screenshots mit HTML und zum Speichern als lokale Bilder

>>:  Implementierung zum Hinzufügen eines Maskenebeneneffekts, wenn die CSS-Maus über dem Bild schwebt

Artikel empfehlen

So installieren und ändern Sie das Anfangskennwort von mysql5.7.18

Informationen zur Centos-Installation von MySQL f...

Absatzlayout und Zeilenumbrüche in HTML-Webseiten

Das Erscheinungsbild einer Webseite hängt maßgebl...

Prozessdiagramm zur Implementierung des CentOS-IP-Verbindungsnetzwerks

1. Melden Sie sich beim System an und geben Sie d...

So fügen Sie Tastenkombinationen in Xshell hinzu

Als nützlicher Terminalemulator wird Xshell häufi...

Detaillierte Analyse von or, in, union und Indexoptimierung in MySQL

Dieser Artikel entstand aus der Hausaufgabe „Erle...

Natives JavaScript-Message Board

In diesem Artikel wird der spezifische JavaScript...

Docker-Dateispeicherpfad, Befehlsvorgang zum Starten des Containers abrufen

Der Container wurde bereits erstellt. So erfahren...

Tutorial zur Installation von MySQL 5.7.18 unter Windows 10

In diesem Tutorial erfahren Sie alles über die In...

Einführung in die Verwendung von CSS3-Filterattributen

1. Einleitung Beim Schreiben von Animationseffekt...

Ausführliche Erläuterung versteckter Felder, einer neuen Funktion von MySQL 8.0

Vorwort MySQL Version 8.0.23 fügt eine neue Funkt...

So verbinden Sie Navicat mit der Docker-Datenbank auf dem Server

Starten Sie den MySQL-Container in Docekr Verwend...