de.hideout-lastation.com
Paradies Für Designer Und Entwickler


Der definitive Leitfaden zu CSS-Pseudoklassen

Ob Sie ein Anfänger oder ein erfahrener CSS-Entwickler sind, Sie haben wahrscheinlich schon von Pseudo-Klassen gehört . Die bekannteste Pseudo-Klasse ist wahrscheinlich :hover, mit dem wir ein Element :hover, wenn es sich im Hover-Zustand befindet, dh wenn ein Zeigergerät, wie eine Maus, darauf zeigt.

Nach dem Konzept unserer vorherigen Beiträge zu margin: auto und CSS Floats, werfen wir einen genaueren Blick auf Pseudo-Klassen in diesem Beitrag. Wir werden sehen, welche Pseudoklassen wirklich sind, wie sie funktionieren, wie wir sie kategorisieren können und wie sie sich von Pseudoelementen unterscheiden .

Was sind Pseudoklassen?

Eine Pseudo-Klasse ist ein Schlüsselwort, das wir CSS-Selektoren hinzufügen können, um einen speziellen Status des zugehörigen HTML-Elements zu definieren . Wir können eine Pseudoklasse zu einem CSS-Selektor hinzufügen, indem wir die Doppelpunktsyntax verwenden : so: a:hover{ ... }

Eine CSS-Klasse ist ein Attribut, das wir zu HTML-Elementen hinzufügen können, auf die wir die gleichen Stilregeln anwenden möchten, z. B. Top-Menüelemente oder Titel von Sidebar-Widgets. Mit anderen Worten, wir können CSS-Klassen verwenden, um HTML-Elemente zu gruppieren oder zu klassifizieren, die auf die eine oder andere Weise ähnlich sind.

Pseudoklassen ähneln ihnen in dem Sinne, dass sie auch verwendet werden, um den Elementen, die das gleiche Merkmal teilen, Stilregeln hinzuzufügen .

Aber während echte Klassen sind benutzerdefiniert und können zum Beispiel im Quellcode entdeckt werden

Pseudo-Klassen werden von UA ​​(User Agents) wie Webbrowsern basierend auf dem aktuellen Status des zugehörigen HTML-Elements hinzugefügt .

Zweck von Pseudoklassen

Die Aufgabe regulärer CSS-Klassen besteht darin , Elemente zu klassifizieren oder zu gruppieren . Entwickler wissen, wie ihre Elemente gruppiert werden: Sie können Klassen wie "Menüelemente", "Schaltflächen", "Miniaturansichten" usw. bilden, um sie zu gruppieren und später ähnliche Elemente zu erstellen. Diese Klassifikationen basieren auf den Eigenschaften der Elemente, die von den Entwicklern selbst angegeben werden .

Zum Beispiel, wenn ein Entwickler beschließt, ein

als Thumbnail-Objekt kann sie das klassifizieren
mit einer "thumbnail" -Klasse.

[...]

HTML-Elemente haben jedoch ihre eigenen gemeinsamen Merkmale basierend auf ihrem Status, ihrer Position, ihrer Natur und ihrer Interaktion mit der Seite und dem Benutzer. Dies sind die Eigenschaften, die normalerweise nicht im HTML-Code markiert sind, aber wir können sie mit Pseudo-Klassen in CSS adressieren, zum Beispiel:

  • ein Element, das das letzte Kind in seinem übergeordneten Element ist
  • ein Link, der besucht wird
  • ein Element, das im Vollbildmodus angezeigt wird .

Dies sind die Eigenschaften, auf die die Pseudoklassen im Allgemeinen abzielen. Um den Unterschied zwischen Klassen und .last besser zu verstehen, nehmen wir an, dass wir die Klasse .last, um die letzten Elemente in verschiedenen übergeordneten Containern zu identifizieren.

  • Gegenstand 1
  • Punkt 2
  • Punkt 3
  • Punkt 4

Wir können diese letzten untergeordneten Elemente mit dem folgenden CSS formatieren:

 li.last {text-transform: Großbuchstaben; } option.last {font-style: kursiv; } 

Was aber passiert, wenn sich das letzte Element ändert? Nun, wir müssen die .last Klasse vom vorherigen zum letzten Element verschieben.

Dieser Aufwand beim Aktualisieren von Klassen kann dem Benutzeragenten überlassen bleiben, zumindest für die Eigenschaften, die unter Elementen üblich sind (und es ist so üblich, dass ein letztes Element erhalten wird). Eine Pseudo-Klasse vordefiniert :last-child ist in der Tat sehr nützlich. Auf diese Weise müssen wir nicht das letzte Element im HTML-Code angeben, aber wir können sie immer noch mit dem folgenden CSS formatieren:

 li: last-child {Text-Transformation: Großschreibung; } Option: last-child {font-style: kursiv; } 

Haupttypen von Pseudoklassen

Es gibt viele Arten von Pseudo-Klassen, die uns alle Möglichkeiten bieten, Elemente basierend auf ihren Funktionen zu targetieren, auf die sonst nicht zugegriffen werden kann. Hier ist eine Liste von Standard-Pseudoklassen in MDN.

1. Dynamische Pseudoklassen

Dynamische Pseudoklassen werden dynamisch zu HTML-Elementen hinzugefügt und daraus entfernt, basierend auf dem Status, in den sie als Reaktion auf die Interaktionen des Benutzers übergehen. Einige Beispiele für dynamische Pseudoklassen sind :hover :focus :hover :link und :visited, die alle zum Anker-Tag hinzugefügt werden können.

 a: besucht {color: # 8D20AE; } .button: hover, .button: focus {font-weight: bold; } 

2. Staatliche Pseudoklassen

Zustandsbezogene Pseudoklassen werden zu Elementen hinzugefügt, wenn sie sich in einem bestimmten statischen Zustand befinden . Einige seiner bekanntesten Beispiele sind:

  • :checked dass für Checkboxen angewendet werden kann ( )
  • :fullscreen für jedes Element, das gerade im Vollbildmodus angezeigt wird
  • :disabled für HTML-Elemente, die sich im deaktivierten Modus befinden können, z ,