Startseite » Codierung » Der definitive Leitfaden für CSS-Pseudoklassen

    Der definitive Leitfaden für CSS-Pseudoklassen

    Unabhängig davon, ob Sie ein Anfänger oder ein erfahrener CSS-Entwickler sind, haben Sie wahrscheinlich schon davon gehört Pseudoklassen. Die bekannteste Pseudoklasse ist wahrscheinlich :schweben, was uns ermöglicht, ein Element zu gestalten, wenn es ist im schwebeflugzustand, d. h. wenn eine Zeigervorrichtung, wie z. B. eine Maus, darauf zeigt.

    Dem Konzept unserer vorherigen Posts zu margin: auto und CSS Floats folgend, betrachten wir die Pseudo-Klassen in diesem Beitrag eingehender. Wir werden sehen was Pseudoklassen wirklich sind, wie sie arbeiten, wie wir sie einordnen können, und Wie unterscheiden sie sich von Pseudoelementen?.

    Was sind Pseudoklassen??

    Eine Pseudoklasse ist ein Schlüsselwort, das wir CSS-Selektoren hinzufügen können einen besonderen Zustand definieren des zugehörigen HTML-Elements. Wir können eine Pseudo-Klasse zu einem CSS-Selektor hinzufügen, indem Sie die Doppelpunkt-Syntax : so was: a: hover …

    Eine CSS-Klasse ist ein Attribut, das wir zu HTML-Elementen hinzufügen können, für die dieselben Stilregeln gelten sollen, z. B. Hauptmenüelemente oder Titel von Seitenleisten-Widgets. Mit anderen Worten, wir können CSS-Klassen dazu verwenden HTML-Elemente gruppieren oder klassifizieren das ist auf die eine oder andere Weise ähnlich.

    Pseudoklassen sind ihnen in dem Sinne ähnlich, dass sie es auch sind Dient zum Hinzufügen von Stilregeln zu den Elementen, die dasselbe Merkmal aufweisen.

    Aber während echte Klassen sind benutzerdefinierten und kann im Quellcode entdeckt werden, zum Beispiel

    , Pseudoklassen sind hinzugefügt von UA ​​(Benutzeragenten), wie Webbrowser, basierend auf dem aktuellen Status des zugehörigen HTML-Elements.

    Zweck von Pseudoklassen

    Das Job von regulären CSS-Klassen ist zu Elemente klassifizieren oder gruppieren. Entwickler wissen, wie ihre Elemente gruppiert werden sollen: Sie können Klassen wie "Menüelemente", "Schaltflächen", "Miniaturansichten" usw. bilden, um ähnliche Elemente zu gruppieren. Diese Klassifizierungen basieren auf den Merkmalen der Elemente von den Entwicklern selbst gegeben.

    Zum Beispiel, wenn sich ein Entwickler für die Verwendung von a entscheidet

    Als Miniaturobjekt kann sie das klassifizieren
    mit einer "Thumbnail" -Klasse.

     
    […]

    HTML-Elemente haben jedoch ihre eigenen gemeinsamen Merkmale basierend auf Zustand, Position, Art und Interaktion mit der Seite und dem Benutzer. Dies sind die Eigenschaften, die es gibt nicht normalerweise im HTML-Code markiert, aber wir können zielen sie mit Pseudoklassen ab in CSS zum Beispiel:

    • ein Element, das das ist zuletzt Kind in seinem übergeordneten Element
    • eine Verbindung, die ist hat besucht
    • ein Element, das gegangen ist Vollbildschirm.

    Dies sind die Merkmale, auf die die Pseudoklassen abzielen. Um den Unterschied zwischen Klassen und Pseudoklassen besser zu verstehen, nehmen wir an, wir verwenden die Klasse .zuletzt 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 gestalten:

     li.last text-transform: Großbuchstaben;  option.last font-style: italic;  

    Was passiert aber, wenn sich das letzte Element ändert? Nun, wir müssen das verschieben .zuletzt Klasse vom vorletzten zum aktuellen Element.

    Dieser Streit von Aktualisierungsklassen können dem Benutzeragenten überlassen werden, zumindest für die Merkmale, die unter Elementen üblich sind (und ein letztes Element zu sein, ist so häufig, wie es sein kann). Haben eine vordefinierte :letztes Kind Pseudoklasse ist in der Tat sehr nützlich. Auf diese Weise wir muss nicht das letzte Element angeben im HTML-Code, aber wir können sie immer noch mit dem folgenden CSS gestalten:

     li: last-child text-transform: großbuchstaben;  Option: last-child font-style: italic; 

    Haupttypen von Pseudoklassen

    Es gibt viele Arten von Pseudoklassen, die uns alle die Möglichkeit bieten, Elemente basierend auf ihren Merkmalen anzuvisieren, auf die sonst nicht oder nur schwer zugegriffen werden kann. Hier ist eine Liste der Standard-Pseudoklassen in MDN.

    1. Dynamische Pseudoklassen

    Dynamische Pseudoklassen werden zu HTML-Elementen hinzugefügt und daraus entfernt dynamisch, basierend auf dem Zustand, in den sie übergehen als Reaktion auf die Interaktionen des Benutzers. Beispiele für dynamische Pseudoklassen sind :schweben, :Fokus, :Verknüpfung, und :hat besucht, alle können dem hinzugefügt werden Anker-Tag.

     a: besuchte color: # 8D20AE;  .button: hover, .button: focus font-weight: fett;  

    2. Zustandsbasierte Pseudoklassen

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

    • : geprüft das kann für Kontrollkästchen angewendet werden ()
    • :Vollbildschirm um auf ein Element zu zielen, das gerade im Vollbildmodus angezeigt wird
    • :deaktiviert für HTML-Elemente, die sich im deaktivierten Modus befinden können, z ,