De position
eigenschap kan u helpen bij het manipuleren van de locatie van een element, bijvoorbeeld:
.element ( position: relative; top: 20px; )
Ten opzichte van de oorspronkelijke positie wordt het bovenstaande element nu 20 px omlaag geduwd vanaf de bovenkant. Als we deze eigenschappen zouden animeren, kunnen we zien hoeveel controle dit ons geeft (hoewel dit om prestatieredenen geen goed idee is):
relative
is slechts een van de zes waarden voor de position
eigenschap. Hier zijn de anderen:
Waarden
static
: elk element heeft standaard een statische positie, dus het element blijft bij de normale paginastroom. Dus als er een links / rechts / boven / onder / z-indexset is, heeft dat geen effect op dat element.relative
: de oorspronkelijke positie van een element blijft in de stroom van het document, net als destatic
waarde. Maar nu zal links / rechts / boven / onder / z-index werken. De positionele eigenschappen "duwen" het element van de oorspronkelijke positie in die richting.absolute
: het element wordt verwijderd uit de stroom van het document en andere elementen zullen zich gedragen alsof het er niet eens is, terwijl alle andere positionele eigenschappen eraan werken.fixed
: het element wordt als absoluut gepositioneerde elementen uit de stroom van het document verwijderd. In feite gedragen ze zich bijna hetzelfde, alleen vast geplaatste elementen zijn altijd relatief ten opzichte van het document, niet een bepaalde ouder, en worden niet beïnvloed door scrollen.sticky
(experimenteel): het element wordt als eenrelative
waarde behandeld totdat de scroll-locatie van de viewport een gespecificeerde drempel bereikt, op welk punt het element eenfixed
positie inneemt waar het moet blijven plakken.inherit
: deposition
waarde loopt niet in cascade, dus dit kan worden gebruikt om het specifiek te forceren, eninherit
de positioneringswaarde van de ouder.
Absoluut
Als een onderliggend element een absolute
waarde heeft, gedraagt het bovenliggende element zich alsof het kind er helemaal niet is:
.element ( position: absolute; )
En als we proberen om andere waarden zoals ingesteld left
, bottom
en right
we vinden dat het kind element niet reageert op de afmetingen van zijn ouder, maar het document:
.element ( position: absolute; left: 0; right: 0; bottom: 0; )
Om het onderliggende element absoluut te positioneren ten opzichte van het bovenliggende element, moeten we dit instellen op het bovenliggende element zelf:
.parent ( position: relative; )
Nu eigenschappen, zoals left
, right
, bottom
en top
zal verwijzen naar het bovenliggende element, zodat als we het kind element transparante we kunnen zien het zitten direct aan de onderkant van de moedermaatschappij:
Gemaakt
De fixed
waarde is vergelijkbaar met het feit absolute
dat het u kan helpen om een element ergens ten opzichte van het document te plaatsen, maar deze waarde wordt niet beïnvloed door scrollen. Bekijk het onderliggende element in de onderstaande demo en hoe het, als je eenmaal scrolt, onder aan de pagina blijft staan:
Deze browserondersteuningsgegevens zijn van Caniuse, die meer details bevat. Een getal geeft aan dat de browser de functie ondersteunt vanaf die versie.
Bureaublad
Chrome | Firefox | D.W.Z | Rand | Safari |
---|---|---|---|---|
4 | 2 | 7 | 12 | 3.1 |
Mobiel / tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 3 | 8 |
Kleverig
De sticky
waarde is als een compromis tussen relative
en fixed
waarden. Op het moment van schrijven is het momenteel een experimentele waarde, wat betekent dat het geen deel uitmaakt van de officiële specificatie en slechts gedeeltelijk wordt overgenomen door geselecteerde browsers. Met andere woorden, het is waarschijnlijk niet het beste idee om dit op een live productiewebsite te gebruiken.
Wat doet het? Welnu, het stelt je in staat om een element relatief ten opzichte van iets op het document te plaatsen en vervolgens, zodra een gebruiker voorbij een bepaald punt in de viewport is gescrolld, de positie van het element op die locatie vast te leggen zodat het permanent weergegeven blijft als een element met een fixed
waarde.
Neem het volgende voorbeeld:
.element ( position: sticky; top: 50px; )
Het element zal relatief gepositioneerd zijn totdat de scrolllocatie van de viewport een punt bereikt waar het element zich 50px
vanaf de bovenkant van de viewport bevindt. Op dat moment wordt het element plakkerig en blijft het op een fixed
positie 50px
bovenaan het scherm.
De volgende demo illustreert dat punt, waar de bovenste navigatie de standaardpositie is relative
en de tweede navigatie sticky
helemaal bovenaan de viewport. Houd er rekening mee dat de demo op het moment van schrijven alleen werkt in Chrome, Safari en Opera.
Deze browserondersteuningsgegevens zijn van Caniuse, die meer details bevat. Een getal geeft aan dat de browser de functie ondersteunt vanaf die versie.
Bureaublad
Chrome | Firefox | D.W.Z | Rand | Safari |
---|---|---|---|---|
91 | 59 | Nee | 88 | 7.1 * |
Mobiel / tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81 | 8 * |
Meer informatie
Video op 25 februari 2015# 110: Snel overzicht van CSS-positiewaarden
▶ Looptijd: 13:34 positie











