Hemsida » Kodning » Den slutgiltiga guiden till CSS-pseudo-klasserna

    Den slutgiltiga guiden till CSS-pseudo-klasserna

    Oavsett om du är nybörjare eller en erfaren CSS-utvecklare, har du säkert hört talas om pseudo-klasser. Den mest kända pseudoklassen är förmodligen :sväva, vilket gör att vi kan ställa ett element när det är i hover-tillståndet, d.v.s. när en pekareanordning, såsom en mus, pekar på den.

    Efter konceptet av våra tidigare inlägg på marginal: Auto och CSS Floats, tar vi en närmare undersökning av pseudoklasserna i detta inlägg. Vi får se vilka pseudoklasser är egentligen, hur de arbetar, hur vi kan kategorisera dem, och hur de skiljer sig från pseudo-element.

    Vad är pseudoklasser?

    En pseudoklass är ett nyckelord som vi kan lägga till till CSS-väljare för att definiera ett speciellt tillstånd av det tillhörande HTML-elementet. Vi kan lägga till en pseudoklass till en CSS-väljare med hjälp av kolon syntax : så här: a: svävar ...

    En CSS-klass är ett attribut som vi kan lägga till i HTML-element som vi vill tillämpa samma stilregler för, till exempel topp menyalternativ eller titlar på sidbalk widgets. Med andra ord kan vi använda CSS klasser till gruppera eller klassificera HTML-element som liknar det ena eller det andra.

    Pseudoklasser liknar dem i den meningen att de också är brukade lägga till stilregler till de element som delar samma egenskap.

    Men medan äkta klasser är användardefinierad och kan ses i källkoden, till exempel

    , pseudoklasser är adderad av UA (användaragenter), som webbläsare, baserat på det aktuella tillståndet för det tillhörande HTML-elementet.

    Syftet med pseudoklasserna

    De jobb med vanliga CSS-klasser är att klassificera eller gruppera element. Utvecklare vet hur deras element ska grupperas: de kan bilda klasser som "menyalternativ", "knappar", "miniatyrbilder" etc. för att gruppera och senare utforma liknande element. Dessa klassificeringar är baserade på elementets egenskaper som är givet av utvecklarna själva.

    Till exempel, om en utvecklare väljer att använda en

    Som ett miniatyrobjekt kan hon eller han klassificera det
    med en "miniatyr" -klass.

     
    [...]

    HTML-element har dock deras egna gemensamma egenskaper baserat på deras tillstånd, position, natur och interaktion med sidan och användaren. Dessa är de egenskaper som är inte typiskt markerad i HTML-koden, men vi kan rikta dem mot pseudoklasser i CSS, till exempel:

    • ett element som är sista barn inom sitt moderelement
    • en länk som är besökt
    • ett element som har gått fullskärm.

    Dessa är typ av egenskaper som i allmänhet riktas mot pseudoklasserna. För att förstå skillnaden mellan klasser och pseudoklasser bättre, låt oss anta att vi använder klassen .sista att identifiera de sista elementen i olika föräldrabehållare.

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

    Vi kan utforma dessa sista barnelement med följande CSS:

     li.last text-transform: store bokstäver;  option.last font-style: italic;  

    Men vad händer när det sista elementet ändras? Nåväl, vi måste flytta .sista klass från det tidigare sista elementet till den nuvarande.

    Denna besvär av uppdateringskurser kan lämnas till användaragenten, åtminstone för de egenskaper som är vanliga bland element (och att vara ett sista element är lika vanligt som det kan få). Har en fördefinierad :sista barnet pseudo-klass är mycket användbart faktiskt. På så sätt vi behöver inte ange det sista elementet i HTML-koden, men vi kan fortfarande stile dem med följande CSS:

     li: sista barn text-transform: store bokstäver;  alternativ: sista barn font-style: italic; 

    Huvudtyper av pseudoklasser

    Det finns många typer av pseudoklasser, alla ger oss möjligheter att rikta in element baserat på deras funktioner som annars är otillgängliga eller svårare att komma åt. Här är en lista över standard pseudoklasser i MDN.

    1. Dynamiska pseudo-klasser

    Dynamiska pseudoklasser läggs till och tas bort från HTML-element dynamiskt, baserat på det tillstånd de övergår till som svar på användarens interaktioner. Några av exemplen på dynamiska pseudoklasser är :sväva, :fokus, :länk, och :besökt, som alla kan läggas till ankare tagg.

     a: besökte färg: # 8D20AE; . knapp: svep,. knapp: fokus font-weight: bold;  

    2. State-Based Pseudo-Classes

    Statliga pseudoklasser läggs till element när de är i ett visst statiskt tillstånd. Några av dess mest kända exempel är:

    • :kontrollerade som kan tillämpas för kryssrutor ()
    • :fullskärm att rikta in något element som för närvarande visas i helskärmsläge
    • :Inaktiverad för HTML-element som kan vara i funktionsläget, t.ex. ,