Ein kurzer Überblick über CSS3-Pseudoklassenselektoren

Ein kurzer Überblick über CSS3-Pseudoklassenselektoren

Vorwort

Wenn CSS die Grundfertigkeit der Front-End-Entwicklung ist, dann sind „Selektoren“ die Grundlage der Grundlage. Wenn Sie diese verwirrenden Selektoren kopieren oder lernen, dann sind Sie hier richtig, mein alter Freund.

In diesem Artikel werden die Funktionen direkt verglichen, damit Sie sie schnell beherrschen:

  • erstes Kind
  • letztes Kind
  • Erster seines Typs
  • Letzter Typ
  • Einzelkind
  • nur vom Typ
  • n-tes Kind
  • n-tes-letztes-Kind
  • n-ter-Typ
  • n-ter-letzter-des-Typs

erstes Kind und letztes Kind

Diese beiden Selektoren gleichen das erste Element in einer Gruppe von Geschwistern ab:

Hinweis: Damit dieser Selektor funktioniert, müssen eigentlich drei Bedingungen erfüllt sein:

  • Entspricht dem vorherigen Selektor, in diesem Fall p
  • Ist eine Gruppe von Geschwisterelementen
  • Ist das erste (oder letzte) Element

Auf last-child werde ich hier nicht näher eingehen. Der Unterschied besteht darin, dass es von hinten nach vorne übereinstimmt.

Erster des Typs und Letzter des Typs

Diese beiden Selektoren stimmen mit dem ersten (letzten) Element desselben Typs überein, unabhängig davon, ob das Element tatsächlich das erste (letzte) Element in der Gruppe ist:

Hinweis: Damit dieser Selektor funktioniert, müssen eigentlich zwei Bedingungen erfüllt sein:

  • Entspricht dem vorherigen Selektor, in diesem Fall p
  • Ist eine Gruppe von Geschwisterelementen

Auf last-of-type werde ich hier nicht näher eingehen. Der Unterschied besteht darin, dass es von hinten nach vorne übereinstimmt.

Einzelkind & Einziger vom Typ

only-child entspricht Elementen, die keine Geschwisterelemente haben, also „verwaiste“ Elemente:

Die „isolierten“ Elemente in der obigen Abbildung sind das erste <p> und das verschachtelte <span> , die beide vom Selektor abgeglichen werden.

only-of-type stimmt mit Elementen eines Typs überein, der in einer Menge gleichgeordneter Elemente eindeutig ist:

Da das erste <p> , das zweite <p> und das letzte <span> in ihrem übergeordneten Elementtyp alle eindeutig sind, werden sie vom Selektor abgeglichen.

n-tes Kind & n-tes-letztes Kind

Das Interessanteste an diesen Pseudoklassenselektoren ist, dass sie eine Formel an+b übergeben können, um Elemente gemäß dieser Formel abzugleichen. Es gibt viele Möglichkeiten, mit dieser Formel zu spielen, was dazu geführt hat, dass sich viele Leute alle Kombinationen dieser Formel und den passenden Inhalt merken.

Tatsächlich wird unsere Denkweise durch CSS verfestigt, da es sehr einfach ist, die Regeln aus mathematischer Sicht herauszufinden. Als Beispiel gibt es den folgenden Code:

<Stil>
  p:n-tes-Kind(2n+1){
    Farbe: blau;
  }
</Stil>
<Text>
  <p>Erste Zeile</p>
  <p>Zeile 2</p>
  <p>Zeile 3</p>
</body>

Denkmodus:

  1. Sammeln Sie zunächst die übereinstimmenden Elemente, in diesem Beispiel drei <p> -Tags
  2. Zählen Sie vom Index 0 bis 2, um die Anzahl der <p> darzustellen, und setzen Sie sie zur Auswertung in die Formel ein.
  3. Ordnen Sie die Elemente den entsprechenden Indizes zu (die Elementindizes beginnen bei 1 zu zählen)

Ergebnis:

Formel erklären
2n Alle geraden Elemente
2n+1 Alle ungeraden Elemente
n und n+1 Alle Elemente
n+2 Elemente nach dem zweiten Element (einschließlich des zweiten Elements)
n+3 Elemente nach dem dritten Element (einschließlich des dritten Elements)
0n Nichts passt zusammen
3n+4 4,7,10,13 ....
1 Entspricht nur dem ersten Element
-n+2 Stimmt nur mit den ersten beiden Elementen überein
n-tes Kind (ungerade) Ungerade Elemente
n-tes Kind (gerade) Sogar Elemente

Vergessen Sie jedoch nicht nth-child immer noch mit demselben Satz von Geschwisterelementen übereinstimmt. Interessant ist jedoch, nth-child den Selektor zum Filtern verwendet, beim Anwenden des Stils den Stil jedoch nicht auf die übereinstimmenden Elemente anwendet:

In der obigen Abbildung werden die beiden Gruppen von <p> -Elementen im <div> als Geschwisterelemente abgeglichen, aber interessanterweise wird auch das dritte <p> -Element „die dritte Zeile“ abgeglichen, was bedeutet, dass der Stil direkt auf die Gruppe der Geschwisterelemente angewendet wird und nicht auf das abgeglichene <p> -Element. Es ist jedoch zu beachten, dass die unterschiedlichen Typstile nicht angewendet werden, wenn <p> in der „dritten Gruppe“ im Bild <div> ist.

nth-last-child ist die Back-to-Front-Version, für die ich hier kein detailliertes Beispiel geben werde:

MDN bietet auch ein interessantes Beispiel, mit dem der Stil von Elementen entsprechend der Anzahl der Elemente gesteuert werden kann:

li:n-tes-letztes-Kind(n+3),
li:n-tes-letztes-Kind(n+3) ~ li {
  Farbe: rot;
}
<h4>Eine Liste mit vier Elementen (gestaltet):</h4>
<ol>
  <li>Eins</li>
  <li>Zwei</li>
  <li>Drei</li>
  <li>Vier</li>
</ol>

<h4>Eine Liste mit zwei Elementen (ohne Stil):</h4>
<ol>
  <li>Eins</li>
  <li>Zwei</li>
</ol>

n-ter Typ und n-ter letzter Typ

nth-of-type -Übereinstimmungen:

  • Geschwisterelemente des gleichen Typs in der gleichen Gruppe
  • Entspricht dem Element, das dem berechneten Wert der Formel entspricht

Ist Ihnen aufgefallen, dass nth-of-type sich von nth-child unterscheidet? Nach der Berechnung wird der Stil auf das übereinstimmende Element angewendet, nicht auf Geschwisterelemente.

nth-last-of-type Front-Version, die hier nicht näher beschrieben wird:

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

<<:  dh Filtersammlung

>>:  Detaillierte Erklärung zur Bereitstellung von Elasticsearch Kibana und IK Word Segmenter im Docker

Artikel    

Artikel empfehlen

Installation und Verwendung von TypeScript und grundlegende Datentypen

Der erste Schritt besteht darin, TypeScript globa...

Detaillierte Erläuterung des Überwachungsmethodenfalls von Vue

Überwachungsmethode in Vue betrachten Beachten Na...

Anwendung und Implementierung des Datencache-Mechanismus für kleine Programme

Informationen zum Miniprogramm-Datencache Datenca...

Der Unterschied zwischen GB2312, GBK und UTF-8 in der Webseitenkodierung

Zunächst müssen wir verstehen, dass GB2312, GBK u...

Implementierung der Validierung mehrerer Elemente im Formular

Im Projekt werden häufig Formulartests durchgefüh...

Implementierung der VUE-Anzeige unendlicher Ebenenbaum-Datenstrukturen

Inhaltsverzeichnis Rekursiver Aufruf der Komponen...

Lösung für die geringe Schreibeffizienz von unter AIX gemountetem NFS

Von NFS bereitgestellte Dienste Mounten: Aktivier...

Eine Methode zum Erstellen von Karussellbildern mit CSS3

Diashows sieht man häufig auf Webseiten. Sie enth...

Element Tabelle Tabellenkomponente Mehrfeld (Mehrspalten) Sortiermethode

Inhaltsverzeichnis brauchen: Aufgetretene Problem...

Einfaches Beispiel für die Verschönerung von HTML-Kontrollkästchen und -Radios

Einfaches Beispiel für die Verschönerung von HTML...

Centos7.3 So installieren und implementieren Sie Nginx und konfigurieren https

Installationsumgebung 1. gcc-Installation Um ngin...

MySQL-Joinpufferprinzip

Inhaltsverzeichnis 1. MySQL-Joinpuffer 2. JoinBuf...