no.hideout-lastation.com
Paradis For Designere Og Utviklere


Den Definitive Guide til CSS Pseudo-Klasser

Enten du er nybegynner eller en erfaren CSS-utvikler, har du sikkert hørt om pseudoklasser . Den mest kjente pseudoklassen er sannsynligvis :hover, noe som gjør at vi kan style et element når det er i hover-tilstanden, dvs. når en peker-enhet, som en mus, peker 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 vil se hvilke pseudoklasser egentlig er, hvordan de fungerer, hvordan vi kan kategorisere dem, og hvordan de er forskjellige fra pseudoelementer .

Hva er Pseudo-klasser?

En pseudoklasse er et søkeord vi kan legge til i CSS-seleksjonene for å definere en spesiell tilstand for det tilhørende HTML-elementet. Vi kan legge til en pseudoklasse til en CSS-väljare ved å bruke tykkelsyntaxen : slik: a:hover{ ... }

En CSS-klasse er et attributt vi kan legge til i HTML-elementer som vi vil bruke de samme stilregler 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å brukes til å legge stilregler til elementene som deler samme karakteristikk .

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

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

Formål med pseudoklasser

Arbeidet med vanlige CSS-klasser er å 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å elementernes 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 sine egne vanlige egenskaper basert på deres tilstand, posisjon, natur og samspill med siden og brukeren. Dette er egenskapene som ikke vanligvis er merket i HTML-koden, men vi kan målrette dem med pseudoklasser i CSS, for eksempel:

  • et element som er det siste barnet i sitt foreldreelement
  • en lenke som er besøkt
  • et element som har gått i fullskjerm .

Dette er typen egenskaper som generelt er rettet mot pseudoklassene. For å forstå forskjellen mellom klasser og .last bedre, må vi anta at vi bruker klassen .last å 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: kursiv; } 

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

Denne besværet med å oppdatere klasser kan overlates til brukeragenten, i det minste 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 :last-child Pseudo-klassen i :last-child er veldig nyttig faktisk. På denne måten trenger vi ikke å angi det siste elementet i HTML-koden, men vi kan fortsatt utforme 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 blir lagt til og fjernet fra HTML-elementer dynamisk, basert på tilstanden de overfører til som svar på brukerens interaksjoner . Noen av eksemplene på dynamiske pseudoklasser er :hover :focus :link og :visited, som alle kan legges til ankermerket.

 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:

  • :checked som kan brukes for avmerkingsbokser ( )
  • :fullscreen å målrette mot hvilket element som nå vises i fullskjermmodus
  • :disabled for HTML-elementer som kan være i deaktivert modus, for eksempel ,