Heim > Web-Frontend > CSS-Tutorial > Was sind CSS-Pseudoklassen? Detaillierte Einführung in CSS-Pseudoklassen

Was sind CSS-Pseudoklassen? Detaillierte Einführung in CSS-Pseudoklassen

不言
Freigeben: 2018-11-02 09:58:59
Original
4540 Leute haben es durchsucht

Ob Sie Anfänger oder erfahrener CSS-Entwickler sind, Sie haben wahrscheinlich schon von Pseudoklassen gehört. Die bekannteste Pseudoklasse ist wahrscheinlich :hover, die es uns ermöglicht, Elemente zu formatieren, während sie sich im Schwebezustand befinden, wenn ein Zeigegerät (z. B. eine Maus) darauf gezeigt wird.

Nach unserer vorherigen Einführung zu margin: auto und CSS Floats werfen wir in diesem Artikel einen tieferen Blick auf Pseudoklassen. Wir werden sehen, was Pseudoklassen sind, wie sie funktionieren, wie wir sie klassifizieren und wie sie sich von Pseudoelementen unterscheiden. (Empfohlenes Tutorial: CSS-Video-Tutorial)

Was sind Pseudoklassen?

Eine Pseudoklasse ist ein HTML-Element, für das wir ein Schlüsselwort auswählen können, um einen speziellen Zustand zu definieren und CSS hinzuzufügen. Wir können Pseudoklassen zu CSS-Selektoren hinzufügen, indem wir die Doppelpunktsyntax verwenden, etwa so: a:hover{ ... }

Eine CSS-Klasse ist etwas, das wir dem HTML, das wir anwenden möchten, mit dem gleichen Stil hinzufügen können Regeln Das Titelattribut eines Elements, beispielsweise eines oberen Menüelements oder eines Seitenleisten-Widgets. Mit anderen Worten: Wir können CSS-Klassen verwenden, um HTML-Elemente zu gruppieren oder zu kategorisieren, die in irgendeiner Weise ähnlich sind. Die

-Pseudoklassen ähneln sich darin, dass sie auch zum Hinzufügen von Stilregeln zu Elementen verwendet werden, die dieselben Eigenschaften aufweisen.

Während die eigentliche Klasse jedoch benutzerdefiniert ist und beispielsweise im Quellcode basierend auf dem aktuellen Status des HTML-Elements, zu dem sie gehört, entdeckt werden kann, kann ein UA (User Agent) (z als Webbrowser) fügt eine < ;div class="myClass">Pseudoklasse hinzu.

Pseudoklassen und Pseudoelemente können in CSS-Selektoren verwendet werden, existieren jedoch nicht im HTML-Quellcode. Stattdessen werden sie vom UA unter bestimmten Bedingungen zur Adressierung im Stylesheet „eingefügt“.

Zweck von Pseudoklassen

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

Wenn ein Entwickler beispielsweise beschließt, ein

als Miniaturbildobjekt zu verwenden, kann er es mithilfe der Klasse „
“ klassifizieren.
<div class="thumbnail">[...]</div>
Nach dem Login kopieren

HTML-Elemente haben jedoch gemeinsame Merkmale, die auf ihrem Zustand, ihrer Position, ihrer Art und ihrer Interaktion mit der Seite und dem Benutzer basieren. Dies sind Merkmale, die normalerweise nicht im HTML-Code markiert sind, aber wir können Pseudoklassen in CSS verwenden, um sie zu finden, zum Beispiel:

1 Ein Element, das das letzte untergeordnete Element seines übergeordneten Elements ist Element

2. Zugriffslink

3.

Das sind die Merkmale, auf die Pseudoklassen typischerweise abzielen. Um den Unterschied zwischen Klassen und Pseudoklassen besser zu verstehen, nehmen wir an, dass wir die Klasse .last verwenden, um das letzte Element in einem anderen übergeordneten Container zu identifizieren.

<ul>
    <li>item 1</li>
    <li>item 2</li>
    <li>item 3</li>
    <li class="last">item 4</li>
</ul>
 
<select>
    <option>option 1</option>
    <option>option 2</option>
    <option>option 3</option>
    <option class="last">option 4</option>
</select>
Nach dem Login kopieren

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

li.last {
  text-transform: uppercase;
}
 
option.last{
  font-style:italic;
}
Nach dem Login kopieren

Aber was passiert, wenn sich das letzte Element ändert? Nun, wir müssen die .last-Klasse vom vorherigen Element in das aktuelle Element verschieben.

Die Mühe, Klassen zu aktualisieren, kann dem Benutzeragenten überlassen werden, zumindest für die Merkmale, die bei Elementen gemeinsam sind (und das letzte Element ist so häufig, wie es nur sein kann). Die vordefinierte Pseudoklasse :last-child ist wirklich nützlich. Auf diese Weise müssen wir die letzten Elemente im HTML-Code nicht angeben, können sie aber dennoch mit dem folgenden CSS formatieren:

li:last-child {
  text-transform: uppercase;
}
 
option:last-child {
    font-style:italic;
}
Nach dem Login kopieren

Haupttyp der Pseudoklasse

Es gibt viele Arten von Pseudoklassen, und sie alle bieten uns die Möglichkeit, ein Element anhand seiner Eigenschaften zu lokalisieren, auf die nicht oder nur schwer zugegriffen werden kann. Dies ist eine Liste der Standard-Pseudoklassen in MDN.

1. Dynamische Pseudoklassen

Dynamische Pseudoklassen werden dynamisch zu HTML-Elementen hinzugefügt und daraus entfernt, basierend auf dem Status, den sie als Reaktion auf Benutzerinteraktionen ändern. Einige Beispiele für dynamische Pseudoklassen sind , , , und , die alle zu Anker-Tags hinzugefügt werden können. :hover:focus:link:visited

2. Zustandsbasierte Pseudoklassen

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

:checked kann auf Kontrollkästchen angewendet werden ()

:fullscreen lokalisiert die aktuelle Anzeige im Vollbildmodus. Beliebig

:disabledHTML-Element kann sich im deaktivierten Modus befinden, z. B. ,