I denna laboration ska du experimentera med egenskapen position och lära dig hur den fungerar.
Förberedelser
- Öppna mappen L5c i Visual Studio Code (VSC).
- Öppna filerna index.html och style.css i VSC och öppna sidan i Live Server.
- Studera den kod som finns i HTML- och CSS-filerna, så att du blir insatt i den.
Relativ positionering
-
Lägg in
position: relative;i regeln för#box1. Lägg även intop: 40px;ochleft: 80px;- Om inte
positionsätts tillrelative(eller något annat änstaticsom är “default”) kommer inte värdena förtopochleftfå någon effekt. - Positioneringen blir relativt den plats elementet har i HTML-koden.
- Om inte
-
Prova också med negativa värden samt att byta till
bottomochright.
Absolut positionering
-
Ändra till
position: absolute;i regeln för#box1. -
Prova olika värden på
top,leftochbottom,right.- Prova först med endast två av dem, dvs
topellerbottomtillsammans medleftellerright. - Prova sedan att ta med alla fyra, fast då måste du också ta bort
widthochheightur regeln, eftersom storleken då bestäms utifrån positionering av kanterna. - Prova också att använda procent istället för pixel för värdena.
- Prova först med endast två av dem, dvs
-
Placeringen sker inom fönstret, men följer sedan med dokumentet, då man scrollar. Prova att göra fönstret mindre och scrolla.
-
Observera också att elementet “lyfts ur” den övriga presentationen på webbsidan. Den rad som i HTML-koden ligger under boxen, har skjutits upp. Elementet med absolut positionering ligger i ett “lager” framför övrigt innehåll.
Fix positionering
- Ändra till
position: fixed;i regeln för#box1. - Placeringen sker som med absolut positionerng, fast elementet ligger kvar i fönstret, då dokumentet scrollas. Prova att göra fönstret mindre och scrolla.
Sticky positionering
- Ändra till
position: sticky;i regeln för#box1. - Placeringen blir som med
staticellerrelativepositionering, fast elementet ligger sedan kvar, då man scrollat upp till den position som anges. Prova att göra fönstret mindre och scrolla.- Prova att ändra värdet för
topoch se att elementet “fastnar” vid detta värde, då du scrollar.
- Prova att ändra värdet för
Kombination av relativ och absolut positionering
-
Lägg in
position: absolute;i regeln för#box2samt några värden påtopochleft, t.ex.30pxrespektive20px. -
Lägg in
position: relative;i regeln för#wrapper, dvs för det element som omger box 2. -
Prova att ändra värdena för
topochlefti regeln för#box2.- Positioneringen sker nu inom “wrapper”-elementet.
- Även här kan du också använda
bottomochright.