Egenskaben position
angiver typen af positioneringsmetode, der bruges til et element (statisk, relativ, fast, absolut eller klæbrig).
Egenskaben position
angiver typen af positioneringsmetode, der bruges til et element.
Der er fem forskellige positionsværdier:
static
relative
fixed
absolute
sticky
Elementer placeres derefter ved at bruge toppen, bunden, venstre og højre ejendomme. Disse egenskaber vil dog ikke fungere, medmindre positionen
egenskaben indstilles først. De fungerer også forskelligt afhængigt af stillingen værdi.
position: static;
HTML-elementer er som standard placeret statisk.
Statisk placerede elementer påvirkes ikke af top-, bund-, venstre- og højreegenskaberne.
Et element med position: static;
er ikke placeret på nogen speciel måde; det er altid placeret i overensstemmelse med det normale flow på siden:
Her er den CSS, der bruges:
div.static {
position: static;
border: 3px solid #73AD21;
}
Prøv det selv →
<!DOCTYPE html>
<html>
<head>
<style>
div.static {
position: static;
border: 3px solid #73AD21;
}
</style>
</head>
<body>
<h2>position: static;</h2>
<p>An element with position: static; is not positioned in any special way; it is always positioned according to the normal flow of the page:</p>
<div class="static">
This div element has position: static;
</div>
</body>
</html>
position: relativ;
Et element med position: relative;
er placeret i forhold til dets normale position.
Indstilling af top, højre, bund og venstre egenskaber for et relativt placeret element vil forårsage den skal justeres væk fra sin normale position. Andet indhold vil ikke blive justeret, så det passer ind i et hul efterladt af element.
Her er den CSS, der bruges:
div.relative {
position: relative;
left: 30px;
border: 3px solid #73AD21;
}
Prøv det selv →
<!DOCTYPE html>
<html>
<head>
<style>
div.relative {
position: relative;
left: 30px;
border: 3px solid #73AD21;
}
</style>
</head>
<body>
<h2>position: relative;</h2>
<p>An element with position: relative; is positioned relative to its normal position:</p>
<div class="relative">
This div element has position: relative;
</div>
</body>
</html>
position: fixed;
Et element med position: fixed;
er placeret i forhold til viewporten, hvilket betyder, at det altid forbliver på samme sted, selvom siden rulles. Toppen, højre, bund og venstre egenskaber bruges til at placere elementet.
Et fast element efterlader ikke et hul på siden, hvor det normalt ville have været placeret.
Læg mærke til det faste element i nederste højre hjørne af siden. Her er den CSS, der bruges:
div.fixed {
position: fixed;
bottom: 0;
right: 0;
width:
300px;
border: 3px solid #73AD21;
}
Prøv det selv →
<!DOCTYPE html>
<html>
<head>
<style>
div.fixed {
position: fixed;
bottom: 0;
right: 0;
width: 300px;
border: 3px solid #73AD21;
}
</style>
</head>
<body>
<h2>position: fixed;</h2>
<p>An element with position: fixed; is positioned relative to the viewport, which means it always stays in the same place even if the page is scrolled:</p>
<div class="fixed">
This div element has position: fixed;
</div>
</body>
</html>
position: fixed;
position: absolut;
Et element med position: absolute;
er placeret i forhold til den nærmeste positionerede forfader (i stedet for placeret i forhold til viewporten, som fast).
Imidlertid; hvis et absolut positioneret element ikke har nogen positionerede forfædre, den bruger dokumentets brødtekst og bevæger sig sammen med siderulning.
Bemærk: Absolut placerede elementer fjernes fra det normale flow og kan overlappe elementer.
Her er et simpelt eksempel:
Her er den CSS, der bruges:
div.relative {
position: relative;
width: 400px;
height: 200px;
border: 3px solid #73AD21;
}
div.absolute {
position: absolute; top: 80px;
right: 0;
width: 200px;
height: 100px;
border: 3px solid #73AD21;
}
Prøv det selv →
<!DOCTYPE html>
<html>
<head>
<style>
div.relative {
position: relative;
width: 400px;
height: 200px;
border: 3px solid #73AD21;
}
div.absolute {
position: absolute;
top: 80px;
right: 0;
width: 200px;
height: 100px;
border: 3px solid #73AD21;
}
</style>
</head>
<body>
<h2>position: absolute;</h2>
<p>An element with position: absolute; is positioned relative to the nearest positioned ancestor (instead of positioned relative to the viewport, like fixed):</p>
<div class="relative">This div element has position: relative;
<div class="absolute">This div element has position: absolute;</div>
</div>
</body>
</html>
position: sticky;
Et element med position: sticky;
er placeret baseret på brugerens rulleposition.
Et sticky element skifter mellem relativ
og fast
, afhængigt af rullepositionen. Den placeres relativt indtil en given offset position er opfyldt i viewporten - så "klæber den" på plads (som position:fixed).
Bemærk: Internet Explorer understøtter ikke klæbrig positionering. Safari kræver et -webkit- præfiks (se eksempel nedenfor). Du skal også angive mindst én af top
, right
, nederst
eller venstre
for klæbrig positionering til arbejde.
I dette eksempel klæber det klæbende element til toppen af siden (top: 0
), når du når dets rulleposition.
div.sticky {
position: -webkit-sticky; /* Safari */
position:
sticky;
top: 0;
background-color: green;
border: 2px solid #4CAF50;
}
Prøv det selv →
<!DOCTYPE html>
<html>
<head>
<style>
div.sticky {
position: -webkit-sticky;
position: sticky;
top: 0;
padding: 5px;
background-color: #cae8ca;
border: 2px solid #4CAF50;
}
</style>
</head>
<body>
<p>Try to <b>scroll</b> inside this frame to understand how sticky positioning works.</p>
<div class="sticky">I am sticky!</div>
<div style="padding-bottom:2000px">
<p>In this example, the sticky element sticks to the top of the page (top: 0), when you reach its scroll position.</p>
<p>Scroll back up to remove the stickyness.</p>
<p>Some text to enable scrolling.. Lorem ipsum dolor sit amet, illum definitiones no quo, maluisset concludaturque et eum, altera fabulas ut quo. Atqui causae gloriatur ius te, id agam omnis evertitur eum. Affert laboramus repudiandae nec et. Inciderint efficiantur his ad. Eum no molestiae voluptatibus.</p>
<p>Some text to enable scrolling.. Lorem ipsum dolor sit amet, illum definitiones no quo, maluisset concludaturque et eum, altera fabulas ut quo. Atqui causae gloriatur ius te, id agam omnis evertitur eum. Affert laboramus repudiandae nec et. Inciderint efficiantur his ad. Eum no molestiae voluptatibus.</p>
</div>
</body>
</html>
Sådan placeres tekst over et billede:
Prøv det selv:
Øverst til venstre →
<!DOCTYPE html>
<html>
<head>
<style>
.container {
position: relative;
}
.topleft {
position: absolute;
top: 8px;
left: 16px;
font-size: 18px;
}
img {
width: 100%;
height: auto;
opacity: 0.3;
}
</style>
</head>
<body>
<h2>Image Text</h2>
<p>Add some text to an image in the top left corner:</p>
<div class="container">
<img src="img_5terre_wide.jpg" alt="Cinque Terre" width="1000" height="300">
<div class="topleft">Top Left</div>
</div>
</body>
</html>
Øverst til højre →
<!DOCTYPE html>
<html>
<head>
<style>
.container {
position: relative;
}
.topright {
position: absolute;
top: 8px;
right: 16px;
font-size: 18px;
}
img {
width: 100%;
height: auto;
opacity: 0.3;
}
</style>
</head>
<body>
<h2>Image Text</h2>
<p>Add some text to an image in the top right corner:</p>
<div class="container">
<img src="img_5terre_wide.jpg" alt="Cinque Terre" width="1000" height="300">
<div class="topright">Top Right</div>
</div>
</body>
</html>
Nederst til venstre →
<!DOCTYPE html>
<html>
<head>
<style>
.container {
position: relative;
}
.bottomleft {
position: absolute;
bottom: 8px;
left: 16px;
font-size: 18px;
}
img {
width: 100%;
height: auto;
opacity: 0.3;
}
</style>
</head>
<body>
<h2>Image Text</h2>
<p>Add some text to an image in the bottom left corner:</p>
<div class="container">
<img src="img_5terre_wide.jpg" alt="Cinque Terre" width="1000" height="300">
<div class="bottomleft">Bottom Left</div>
</div>
</body>
</html>
Nederst til højre →
<!DOCTYPE html>
<html>
<head>
<style>
.container {
position: relative;
}
.bottomright {
position: absolute;
bottom: 8px;
right: 16px;
font-size: 18px;
}
img {
width: 100%;
height: auto;
opacity: 0.3;
}
</style>
</head>
<body>
<h2>Image Text</h2>
<p>Add some text to an image in the bottom right corner:</p>
<div class="container">
<img src="img_5terre_wide.jpg" alt="Cinque Terre" width="1000" height="300">
<div class="bottomright">Bottom Right</div>
</div>
</body>
</html>
Centreret →
<!DOCTYPE html>
<html>
<head>
<style>
.container {
position: relative;
}
.center {
position: absolute;
top: 50%;
width: 100%;
text-align: center;
font-size: 18px;
}
img {
width: 100%;
height: auto;
opacity: 0.3;
}
</style>
</head>
<body>
<h2>Image Text</h2>
<p>Center text in image:</p>
<div class="container">
<img src="img_5terre_wide.jpg" alt="Cinque Terre" width="1000" height="300">
<div class="center">Centered</div>
</div>
</body>
</html>
Dette eksempel viser, hvordan man indstiller formen på et element. Elementet klippes i denne form og vises.
Indstil formen på et element
<!DOCTYPE html>
<html>
<head>
<style>
img {
position: absolute;
clip: rect(0px,60px,200px,0px);
}
</style>
</head>
<body>
<img src="w3css.gif" width="100" height="140">
</body>
</html>
Indstiller den nederste margen for en positioneret boks
Klipper et absolut placeret element
Indstiller venstre margenkant for en positioneret boks
Angiver typen af positionering for et element
Indstiller højre margenkant for en positioneret boks
Indstiller den øverste margenkant for en placeret boks