Hjemmeside » Coding » Den Definitive Guide til CSS Pseudo-Klasser

    Den Definitive Guide til CSS Pseudo-Klasser

    Enten du er en nybegynner eller en erfaren CSS-utvikler, har du sikkert hørt om pseudo-klasser. Den mest kjente pseudoklassen er sannsynligvis :sveve, som gjør at vi kan style et element når det er i hover-tilstanden, dvs. når en pekerenhet, så som en mus, er spiss på den.

    Etter konseptet av våre tidligere innlegg på margin: auto og CSS Floats, tar vi nærmere på pseudoklassene i dette innlegget. Vi får se hvilke pseudoklasser egentlig er, hvordan de jobber, hvordan vi kan kategorisere dem, og hvordan de er forskjellige fra pseudo-elementer.

    Hva er Pseudo-klasser?

    En pseudoklasse er et søkeord vi kan legge til i CSS-seleksjonene for å kunne definer en spesiell tilstand av det tilhørende HTML-elementet. Vi kan legge til en pseudoklasse til en CSS väljare ved å bruke kolon syntaks : som dette: a: svever ...

    En CSS-klasse er et attributt vi kan legge til i HTML-elementer som vi ønsker å bruke de samme stilreglene for, for eksempel toppmenyelementer eller titler på sidebar-widgets. Med andre ord kan vi bruke CSS klasser til gruppere eller klassifisere HTML-elementer som ligner på en eller annen måte.

    Pseudoklasser ligner dem i den forstand at de også er brukes til å legge til stilregler til elementene som har samme karakteristikk.

    Men mens ekte klasser er brukerdefinert og kan ses i kildekoden, for eksempel

    , pseudoklasser er lagt til av UA (brukeragenter), som nettlesere, basert på den nåværende tilstanden til det tilhørende HTML-elementet.

    Formål med pseudo-klasser

    De jobb med vanlige CSS-klasser er til klassifisere eller gruppere elementer. Utviklere vet hvordan elementene skal grupperes: de kan danne klasser som "menyelementer", "knapper", "miniatyrbilder" etc. for å gruppere og senere utforme lignende elementer. Disse klassifiseringene er basert på elementets egenskaper som er gitt av utviklerne selv.

    For eksempel, hvis en utvikler bestemmer seg for å bruke en

    Som et miniatyrobjekt kan hun eller han klassifisere det
    med en "miniatyr" -klasse.

     
    [...]

    HTML-elementer har imidlertid deres egne felles egenskaper basert på deres tilstand, posisjon, natur og samspill med siden og brukeren. Disse er egenskapene som er ikke vanligvis merket i HTML-koden, men vi kan mål dem med pseudo-klasser i CSS, for eksempel:

    • et element som er siste barn i sitt foreldreelement
    • en lenke som er besøkt
    • et element som har gått full skjerm.

    Dette er typen egenskaper som generelt er rettet mot pseudoklassene. For å forstå forskjellen mellom klasser og pseudoklasser bedre, må vi anta at vi bruker klassen .siste å identifisere de siste elementene i forskjellige foreldrebeholdere.

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

    Vi kan utforme disse siste barnelementene med følgende CSS:

     li.last text-transform: store bokstaver;  option.last font-style: italic;  

    Men hva skjer når det siste elementet endres? Vel, vi må flytte .siste klasse fra det tidligere siste elementet til den nåværende.

    Dette besværet med oppdateringsklasser kan overlates til brukeragenten, i hvert fall for de egenskapene som er vanlige blant elementene (og å være et siste element er like vanlig som det kan bli). Å ha en forhåndsdefinert :siste barn pseudo-klasse er veldig nyttig faktisk. På denne måten, vi trenger ikke å indikere det siste elementet i HTML-koden, men vi kan fortsatt stille dem med følgende CSS:

     li: siste barn text-transform: store bokstaver;  alternativ: siste barn skrifttype: kursiv; 

    Hovedtyper av pseudo-klasser

    Det finnes mange typer pseudoklasser, alle gir oss muligheter til å målrette elementer basert på deres funksjoner som ellers er utilgjengelige eller vanskeligere å få tilgang til. Her er en liste over standard pseudoklasser i MDN.

    1. Dynamiske pseudo-klasser

    Dynamiske pseudoklasser legges til og fjernes fra HTML-elementer dynamisk, basert på staten de overgår til som svar på brukerens interaksjoner. Noen av eksemplene på dynamiske pseudoklasser er :sveve, :fokus, : link, og : besøkt, som alle kan legges til anker tag.

     a: besøkt farge: # 8D20AE; . knapp: svever,. knapp: fokus font-weight: bold;  

    2. Statsbaserte pseudoklasser

    Statlige pseudoklasser legges til elementer når de er i en bestemt statisk tilstand. Noen av de mest kjente eksemplene er:

    • :sjekket som kan brukes for avmerkingsbokser ()
    • :full skjerm å målrette mot hvilket som helst element som for øyeblikket vises i fullskjermmodus
    • :funksjonshemmet for HTML-elementer som kan være i deaktivert modus, for eksempel ,