Pseudoklasser och pseudoelement

Från Webbling
Version från den 12 april 2019 kl. 06.52 av PGJ (diskussion | bidrag) (→‎Pseudoklasser)
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till: navigering, sök

Pseudoklasser

Pseudoklasser kan användas för att välja ut specifika element, beroende på vissa förhållanden. Ett bra exempel på detta är länkar. Som du säkert sett på många sidor, så kan länkar ha en färg när du inte besökt dem och en annan om du redan besökt den länkade resursen. De här egenskaperna kan vi komma åt och styra med hjälp av pseudoklasser.

See the Pen dojVQO by Patrik Grip-Jansson (@PGJ) on CodePen.

Ovanstående två regler kommer att påverka textfärgerna på länkar. Den första, med ”:link”, kommer att sätta alla icke-besökta länkar till rosa, medan den andra regeln kommer att sätta de besökta länkarna till grönt.

Om du vill ha lite roligt så är pseudoklassen:hover” alltid intressant. Den selektorn triggas när muspekaren befinner sig över elementet och man kan på så sätt skapa diverse typer av interaktivitet. Vi kan alltså få diverse saker att hända när musen rör sig kors och tvärs vår webbsida. Många typer av meny-system använder sig av detta, men kom ihåg att ”:hover” inte alltid fungerar bra på pekskärmar!

Vi kör ett exempel:

See the Pen xGJXmw by Patrik Grip-Jansson (@PGJ) on CodePen.

I grunden har h1-elementen vit bakgrund. När du placerar din muspekare över ett h1-element, kommer dess bakgrundsfärg att ändras till lime-grönt och så fort du för bort muspekaren, kommer den att ändra tillbaka till den vita grundfärgen.

Förutom att det inte fungerar så bra på pekskärmar, så kan det vara rätt så irriterande om man har alltför mycket funktionalitet som hoppar hit och dit beroende på var muspekaren befinner sig. Så använd dessa effekter med måtta! Alltför mycket blinkande och kringstudsande är bara irriterande för dina slutanvändare.

Om man vill ha lite snyggare, mjukare övergång mellan färgerna, kan man använda sig av CSS-egenskapen transition. Så här skulle exemplet bli om vi använder den:

See the Pen VNWzJd by Patrik Grip-Jansson (@PGJ) on CodePen.

Vi anger alltså att övergången från den ena färgen till den andra ska ta en sekund. Det går att animera många olika typer av CSS-egenskaper på detta vis. Det finns även andra, mer kraftfulla, metoder med vilka man kan skapa CSS-animationer, men det får vi återkomma till senare.

Pseudoelement

Det finns även så kallade pseudoelement. Detta är innehåll som har egenskaper som gör att de kan ses som element. Det kan t.ex. vara första raden i ett stycke. För att göra ett sånt urval skulle du kunna skapa följande regel:

See the Pen dojVaN by Patrik Grip-Jansson (@PGJ) on CodePen.

Med den regeln skulle första raden i alla stycken bli dubbelt så hög, medan efterföljande rader skulle återges med ”normal” text-storlek.

Lägg märke till att pseudoelement anges med dubbla kolon. Alla webbläsare stödjer dock att man använder enkelkolon också. Det är en kvarleva från att CSS-standarden först angav att det skulle vara enkelkolon, men sen ändrades detta till dubbla. Återigen ett exempel på hur webbläsare är mycket förlåtande, även om man inte följer standarden till punkt och pricka. Det är dock inget man ska förlita sig på, utan följ alla standarder så gott det går!

Nästa aktivitet

Elementtyper - inline och block