position
En esta página
| Clase | Propiedades CSS |
|---|---|
static |
position: static; |
fixed |
position: fixed; |
absolute |
position: absolute; |
relative |
position: relative; |
sticky |
position: sticky; |
Examples#
Statically positioning elements#
Use the static utility to position an element according to the normal flow of the document:
{
Static parent
Absolute child
<!-- [!code classes:static] -->
<div class="static ...">
<p>Static parent</p>
<div class="absolute bottom-0 left-0 ...">
<p>Absolute child</p>
</div>
</div>
With statically positioned elements, any offsets will be ignored and the element will not act as a position reference for absolutely positioned children.
Relatively positioning elements#
Use the relative utility to position an element according to the normal flow of the document:
{
Relative parent
Absolute child
<!-- [!code classes:relative] -->
<div class="relative ...">
<p>Relative parent</p>
<div class="absolute bottom-0 left-0 ...">
<p>Absolute child</p>
</div>
</div>
With relatively position elements, any offsets are calculated relative to the element's normal position and the element will act as a position reference for absolutely positioned children.
Absolutely positioning elements#
Use the absolute utility to position an element outside of the normal flow of the document, causing neighboring elements to act as if the element doesn't exist:
{
With static positioning
Relative parent
Static parent
Static child?
Static sibling
With absolute positioning
Relative parent
Static parent
Absolute child
Static sibling
<!-- [!code classes:absolute] -->
<div class="static ...">
<!-- Static parent -->
<div class="static ..."><p>Static child</p></div>
<div class="inline-block ..."><p>Static sibling</p></div>
<!-- Static parent -->
<div class="absolute ..."><p>Absolute child</p></div>
<div class="inline-block ..."><p>Static sibling</p></div>
</div>
With absolutely positioned elements, any offsets are calculated relative to the nearest parent that has a position other than static, and the element will act as a position reference for other absolutely positioned children.
Fixed positioning elements#
Use the fixed utility to position an element relative to the browser window:
{
<!-- [!code classes:fixed] -->
<div class="relative">
<div class="fixed top-0 right-0 left-0">Contacts</div>
<div>
<div>
<img src="/img/andrew.jpg" />
<strong>Andrew Alfred</strong>
</div>
<div>
<img src="/img/debra.jpg" />
<strong>Debra Houston</strong>
</div>
<!-- ... -->
</div>
</div>
With fixed positioned elements, any offsets are calculated relative to the viewport and the element will act as a position reference for absolutely positioned children:
Sticky positioning elements#
Use the sticky utility to position an element as relative until it crosses a specified threshold, then treat it as fixed until its parent is off screen:
{
<!-- [!code classes:sticky,top-0] -->
<div>
<div>
<div class="sticky top-0 ...">A</div>
<div>
<div>
<img src="/img/andrew.jpg" />
<strong>Andrew Alfred</strong>
</div>
<div>
<img src="/img/aisha.jpg" />
<strong>Aisha Houston</strong>
</div>
<!-- ... -->
</div>
</div>
<div>
<div class="sticky top-0">B</div>
<div>
<div>
<img src="/img/bob.jpg" />
<strong>Bob Alfred</strong>
</div>
<!-- ... -->
</div>
</div>
<!-- ... -->
</div>
With sticky positioned elements, any offsets are calculated relative to the element's normal position and the element will act as a position reference for absolutely positioned children.