Vlastnost position
určuje typ metoda umístění použitá pro prvek (statická, relativní, pevná, absolutní nebo lepkavý).
Vlastnost position
určuje typ metody umístění použité pro prvek.
Existuje pět různých hodnot pozice:
static
relative
fixed
absolute
sticky
Prvky jsou pak umístěny pomocí horní, dolní, levé a pravé strany vlastnosti. Tyto vlastnosti však nebudou fungovat bez pozice
vlastnost je nastavena jako první. Fungují také různě v závislosti na pozici hodnota.
position: static;
Prvky HTML jsou ve výchozím nastavení umístěny staticky.
Statické umístěné prvky nejsou ovlivněny vlastnostmi nahoře, dole, vlevo a vpravo.
Prvek s position: static;
není umístěn žádným zvláštním způsobem; to je vždy umístěny podle normálního toku stránky:
Zde je použitý CSS:
div.static {
position: static;
border: 3px solid #73AD21;
}
Zkuste to sami →
<!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: relativní;
Prvek s position: relativní;
je umístěn relativně ke své normální pozici.
Nastavení vlastností nahoře, vpravo, dole a vlevo u relativně umístěného prvku způsobí musí být nastaven mimo svou normální polohu. Ostatní obsah nebude upraven tak, aby se vešel do mezery, kterou po něm zůstane živel.
Zde je použitý CSS:
div.relative {
position: relative;
left: 30px;
border: 3px solid #73AD21;
}
Zkuste to sami →
<!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;
Prvek s position: fixed;
je umístěn relativně k výřezu, což znamená, že vždy zůstane na stejném místě, i když se stránka posune. Vrchol, vlastnosti right, bottom a left se používají k umístění prvku.
Pevný prvek nezanechává mezeru na stránce, kde by se normálně nacházel.
Všimněte si pevného prvku v pravém dolním rohu stránky. Zde je použitý CSS:
div.fixed {
position: fixed;
bottom: 0;
right: 0;
width:
300px;
border: 3px solid #73AD21;
}
Zkuste to sami →
<!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: absolute;
Prvek s position: absolute;
je umístěn relativně k nejbližšímu umístěnému předkovi (místo umístění vzhledem k výřezu, jako pevné).
Nicméně; pokud absolutně umístěný prvek nemá žádné umístěné předky, používá tělo dokumentu a pohybuje se spolu s posouváním stránky.
Poznámka: Absolutně umístěné prvky jsou odstraněny z normálního toku a mohou prvky překrývat.
Zde je jednoduchý příklad:
Zde je použitý CSS:
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;
}
Zkuste to sami →
<!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;
Prvek s position: sticky;
je umístěn na základě pozice posouvání uživatele.
Přilepený prvek přepíná mezi relativním
a pevným
v závislosti na pozici posouvání. Je umístěn relativně, dokud není ve výřezu splněna daná pozice offsetu - pak se „přilepí“ na místo (jako position:fixed).
Poznámka: Internet Explorer nepodporuje pevné umístění. Safari vyžaduje -webkit- prefix (viz příklad níže). Musíte také zadat alespoň jeden z top
, vpravo
, dole
nebo vlevo
pro lepivé umístění do práce.
V tomto příkladu se lepivý prvek přilepí k horní části stránky (top: 0
), když dosáhnete jeho pozice posouvání.
div.sticky {
position: -webkit-sticky; /* Safari */
position:
sticky;
top: 0;
background-color: green;
border: 2px solid #4CAF50;
}
Zkuste to sami →
<!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>
Jak umístit text přes obrázek:
Zkus to sám:
Vlevo nahoře →
<!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>
Vpravo nahoře →
<!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>
Vlevo dole →
<!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>
Vpravo dole →
<!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>
Na střed →
<!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>
Tento příklad ukazuje, jak nastavit tvar prvku. Prvek je oříznut do tohoto tvaru a zobrazen.
Nastavte tvar prvku
<!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>
Nastaví okraj spodního okraje pro umístěný rámeček
Klipy absolutně umístěný prvek
Nastaví levý okraj pro umístěný rámeček
Určuje typ umístění prvku
Nastaví pravý okraj pro umístěný rámeček
Nastaví horní okraj okraje pro umístěný rámeček