Hjemmeside » Coding » Den endelige vejledning til CSS Pseudo-klasser

    Den endelige vejledning til CSS Pseudo-klasser

    Uanset om du er en nybegynder eller en erfaren CSS-udvikler, har du sikkert hørt om pseudo-klasser. Den mest kendte pseudoklasse er sandsynligvis : hover, som gør det muligt for os at style et element, når det er i hover tilstand, dvs. når en pegeranordning, såsom en mus, peger på den.

    Efter konceptet for vores tidligere indlæg på margen: Auto og CSS Floats, ser vi nærmere på pseudoklasserne i dette indlæg. Vi vil se hvilke pseudoklasser er det virkelig, hvordan de arbejder, hvordan vi kan kategorisere dem, og hvordan de adskiller sig fra pseudo-elementer.

    Hvad er pseudo-klasser?

    En pseudoklasse er et søgeord, vi kan tilføje til CSS-selektorer for at definer en særlig tilstand af det tilhørende HTML element. Vi kan tilføje en pseudoklasse til en CSS vælger ved at bruge kolon syntax : sådan her: a: svever ...

    En CSS-klasse er en attribut, som vi kan tilføje til HTML-elementer, vi ønsker at anvende de samme stilregler for, f.eks. Topmenupunkter eller titler på sidebar widgets. Med andre ord kan vi bruge CSS klasser til gruppere eller klassificere HTML-elementer der er ens på den ene eller den anden måde.

    Pseudoklasserne ligner dem i den forstand, at de også er bruges til at tilføje stilregler til de elementer, der har samme karakteristika.

    Men mens ægte klasser er brugerdefineret og kan ses i kildekoden, for eksempel

    , pseudo-klasser er tilføjet af UA (brugeragenter), ligesom webbrowsere, baseret på den aktuelle tilstand af det tilhørende HTML-element.

    Formål med pseudo-klasser

    Det job af regelmæssige CSS klasser er at klassificere eller gruppere elementer. Udviklere ved, hvordan deres elementer skal grupperes: de kan danne klasser som "menupunkter", "knapper", "miniaturer" osv. Til gruppering og senere stil lignende elementer. Disse klassifikationer er baseret på elementernes egenskaber, der er givet af udviklerne selv.

    For eksempel, hvis en udvikler beslutter at bruge en

    som en miniature genstand kan hun eller han klassificere det
    med en "thumbnail" klasse.

     
    [...]

    HTML-elementer har dog deres egne fælles egenskaber baseret på deres tilstand, position, natur og interaktion med siden og brugeren. Disse er de karakteristika, der er ikke typisk markeret i HTML-koden, men vi kan målrette dem med pseudoklasser i CSS, for eksempel:

    • et element der er sidst barn indenfor dets overordnede element
    • et link der er besøgt
    • et element, der er gået Fuld skærm.

    Disse er de slags egenskaber, som generelt er rettet mod pseudoklasserne. For at forstå forskellen mellem klasser og pseudoklasser bedre, lad os antage, at vi bruger klassen .sidst at identificere de sidste elementer i forskellige forældrebeholdere.

     
    • punkt 1
    • punkt 2
    • punkt 3
    • punkt 4

    Vi kan style disse sidste barnelementer med følgende CSS:

     li.last text-transform: store bogstaver;  option.last font-style: kursiv;  

    Men hvad sker der, når det sidste element ændres? Nå, vi bliver nødt til at flytte .sidst klasse fra det tidligere sidste element til den nuværende.

    Dette besvær med opdatering klasser kan overlades til bruger agenten, i det mindste for de egenskaber, der er almindelige blandt elementer (og at være et sidste element er så almindeligt som det kan få). At have en foruddefineret :sidste barn pseudo-klasse er meget nyttigt faktisk. På denne måde, vi behøver ikke at angive det sidste element i HTML-koden, men vi kan stadig style dem med følgende CSS:

     li: sidste barn text-transform: store bogstaver;  valg: sidste barn skrifttype: kursiv; 

    Hovedtyper af pseudoklasser

    Der er mange slags pseudo-klasser, alle giver os muligheder for at målrette mod elementer baseret på deres funktioner, der ellers er utilgængelige eller vanskeligere at få adgang til. Her er en liste over standard pseudoklasser i MDN.

    1. Dynamiske pseudo-klasser

    Dynamiske pseudoklasser tilføjes til og fjernes fra HTML-elementer dynamisk, baseret på den tilstand, de overgår til som reaktion på brugerens interaktioner. Nogle af eksemplerne på dynamiske pseudoklasser er : hover, :fokus, :link, og : besøgt, som alle kan tilføjes til anker tag.

     a: besøgte farve: # 8D20AE;  .knap: sving, .knap: fokus font-weight: bold;  

    2. State-Based Pseudo-Klasser

    Statsbaserede pseudoklasser føjes til elementer, når de er i en bestemt statisk tilstand. Nogle af de mest kendte eksempler er:

    • : kontrolleret der kan søges i afkrydsningsfelter ()
    • :Fuld skærm at målrette mod ethvert element, der aktuelt vises i fuldskærmstilstand
    • :handicappet for HTML-elementer, der kan være i deaktiveret tilstand, f.eks ,