Heddas logga

Webb­utveckling

Heddas logga

Pseudoklasser

visited

Om du vill ändra på hur en länk man besökt sett ut så lägger du till:

a:visited{
	color : red;
}

Den här länken blir röd om man har klickat på den: Viktigt Mindre viktigt

hover

Om du vill ändra på hur ett element beter sig när du hovrar med musen över det skriver du:

p:hover{
	color: green;
}

Om du håller musen över mig blir jag grön.

nth-child()

Om du vill att typ varannat element av en viss sort ska bete sig annorlunda så skriver du:

p:nth-child(2n+1){
	color: silver;
	background-color: black;
}
p:nth-child(2n){
	font-family: monospace;
	background-color: silver;
	color: gold;
}

Hipp hurra!

För här kommer Bumbibjörnarna!

Studsar fram igenom sagorna!

Och vi får följa med!

Pseudo-element

Med hjälp av så kallade pseudo-element kan du förändra delar av ett element. Tillexempel kan du ändra på initialen, första bokstaven. Med hjälp av en klass så kommer alla initialer på den här leken av sidan att täcka mer än en rad. Koden för att göra det hittar du här:

p::first-letter{
	color: red;
	font-size: 2.0em;
	float: left;
}

Den biten kod innehåller två nya saker vi inte har tittat på förut: ::first-letter och float: left;. Vi kommer först att titta på ::first-letter vilket är ett pseudo-element.

::first-letter

Detta är ett av flera olika pseudo-element vi ska kolla på. Men som namnet antyder så påverkar det den första bokstaven i ett element. Det behöver inte vara i ett <p>-element som i exemplet, utan kan vara i en h-tagg eller i ett a-element.

::first-line

Det här pseudo-elementet påverkar hela första raden i ett element, och är då främst användbart på <p>-elementet som är ett av de element som oftast går över flera rader.

p::first-line{
	font-variant: small-caps;
}

Så nu är hela den första raden i stora bokstäver, men i samma storlek som små bokstäver. Detta är oftast snyggast dock om man har korta rader.

::before

Pseudo-elementet ::before påverkar vad som ska hända precis framför ett element.

a::before{
	content: "♥";
	color: red;
}

Så nu när vi lägger till ett <a>-element så kommer vi att se ett ♥ framför: den här går ingenstans.

::after

::After fungerar likadant som ::before, fast åt andra hållet. Här kan vi se ett exempel på hur ::first-letter tar med specialtecken före första bokstaven också.

Övningar

Fortsätt med din sida om Dijsktras.

  1. Varje rad ska börja med en lettrine (drop cap/capital).
  2. Första raden i varje stycke ska vara med stora bokstäver.
  3. Varannat textstycke ska ha en kant runt texten.
  4. Läs igenom texten om Dijsktras algoritm. Vad handlar den om? Förklara för mig muntligt.