Placering av element med CSS: position och float
Ett elements placering kan vara fixerad på sidan, relativ i förhållande till andra boxar,
samt flytande (float
). Detta kan bestämmas genom egenskaperna position
respektive float
.
Om man inte anger något annat, kommer boxarna att följa varandra en efter en, från vänster till höger, uppifrån och ned, detta kallas hos w3c det normala flödet (the normal flow).
I de flesta fall använder du mått för CSS-egenskaperna top
, right
, bottom
och/eller left
för att positionera elementen. Du kommer också att använda mått för margin
och padding
i samband med positionering, beroende på behov.
position: static
- Innebär att boxen följer det normala flödet, liksom den skulle göra om inget annat var sagt. Detta är utgångsläget om inget annat sägs i CSS.
top
,right
,bottom
ellerleft
kan inte användas position: relative
- Boxen placeras med hjälp av
top
,right
,bottom
och/ellerleft
relativt den placering den skulle få i det normala flödet. position: absolute
- Boxen placeras i förhållande till sin närmaste positionerade förfader (ancestor) (boxen som boxen befinner sig i) och tas alltså ur det normala flödet. Placeras med
top
,right
,bottom
och/ellerleft
.
position: fixed
- Boxen placeras i förhållande till webbläsarfönstret och tar inte hänsyn till någonting annat. ett
fixed
-element kommer till exempel inte följa med när du scrollar. Placeras medtop
,right
,bottom
och/ellerleft
.
position: sticky
- Det nyaste värdet till
position
. Man kan säga att det är ett mellanting mellanabsolute
ochfixed
. Det betyder att den kommer att ha en fixerad position inuti den innehållande boxen. Om användaren scrollar i en box/ett block kommersticky
-elementet behålla sin plats i den boxen. Placeras medtop
,right
,bottom
och/ellerleft
.
Utöver detta kan en box vara flytande, få egenskapen float
, detta innebär att den kommer
att "flyta" i en viss riktning på sidan. Ett element kan ha antingen position
eller float
, inte både och.
float: left
- Boxen hamnar till vänster
float: right
- Boxen hamnar till höger
float: none
- Boxen följer det normala flödet
Egenskapen float
kan kompletteras med egenskapen clear
i angränsande boxar, som talar om hur innehållet i dessar skall bete sig när de stöter på en float.
clear: left
- Innehållet flyttas ned för att lämna plats åt floats till vänster
clear: right
- Innehållet flyttas ned för att lämna plats åt floats till höger
clear: both
- Hela boxen flyttas undan när den stöter på floats
clear: none
- Boxen tar ingen hänsyn till flytande element
Testa! Du kommer att upptäcka massor av sätt att arbeta med detta.