Layout
Position
Utilities for controlling how an element is positioned in the DOM.
Basic usage
Statically positioning elements
Use static
to position an element according to the normal flow of the document.
Any offsets will be ignored and the element will not act as a position reference for absolutely positioned children.
Static parent
Absolute child
<div className="**static** ...">
<p>Static parent</p>
<div className="absolute bottom-0 left-0 ...">
<p>Absolute child</p>
</div>
</div>
Relatively positioning elements
Use relative
to position an element according to the normal flow of the document.
Offsets are calculated relative to the element's normal position and the element will act as a position reference for absolutely positioned children.
Relative parent
Absolute child
<div className="**relative** ...">
<p>Relative parent</p>
<div className="absolute bottom-0 left-0 ...">
<p>Absolute child</p>
</div>
</div>
Absolutely positioning elements
Use absolute
to position an element outside of the normal flow of the document, causing neighboring elements to act as if the element doesn't exist.
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.
With static positioning
Relative parent
Static parent
Static child
Static sibling
With absolute positioning
Relative parent
Static parent
Absolute child
Static sibling
<div className="static ...">
<!-- Static parent -->
<div className="static ..."><p>Static child</p></div>
<div className="inline-block ..."><p>Static sibling</p></div>
<!-- Static parent -->
<div className="**absolute** ..."><p>Absolute child</p></div>
<div className="inline-block ..."><p>Static sibling</p></div>
</div>
Fixed positioning elements
Use fixed
to position an element relative to the browser window.
Offsets are calculated relative to the viewport and the element will act as a position reference for absolutely positioned children.
Contacts
Andrew Alfred
Debra Houston
Jane White
Ray Flint
Mindy Albrect
David Arnold
<div className="relative">
<div className="**fixed** top-0 left-0 right-0">Contacts</div>
<div>
<div>
<img src="..." />
<strong>Andrew Alfred</strong>
</div>
<div>
<img src="..." />
<strong>Debra Houston</strong>
</div>
<!-- ... -->
</div>
</div>
Sticky positioning elements
Use sticky
to position an element as relative
until it crosses a specified threshold, then treat it as fixed until its parent is off screen.
Offsets are calculated relative to the element's normal position and the element will act as a position reference for absolutely positioned children.
A
Andrew Alfred
Aisha Houston
Anna White
Andy Flint
B
Bob Alfred
Bianca Houston
Brianna White
Bert Flint
C
Colton Alfred
Cynthia Houston
Cheyenne White
Charlie Flint
<div>
<div>
<div className="**sticky top-0** ...">A</div>
<div>
<div>
<img src="..." />
<strong>Andrew Alfred</strong>
</div>
<div>
<img src="..." />
<strong>Aisha Houston</strong>
</div>
<!-- ... -->
</div>
</div>
<div>
<div className="**sticky top-0**">B</div>
<div>
<div>
<img src="..." />
<strong>Bob Alfred</strong>
</div>
<!-- ... -->
</div>
</div>
<!-- ... -->
</div>