Skip to content

Layout

Position

Utilities for controlling how an element is positioned in the DOM.

Quick reference

ClassDescription
staticposition: static
fixedposition: fixed
absoluteposition: absolute
relativeposition: relative
stickyposition: sticky

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
html
<div class="relative ...">
  <div class="static ...">
    Static parent
    <div class="absolute bottom-0 left-0 ...">
      Absolute child
    </div>
  </div>
</div>

Relatively positioning elements

Use relative to position an element according to the normal flow of the document.

Any 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
html
<div class="relative ...">
  <p>Relative parent</p>
  <div class="absolute bottom-0 left-0 ...">
    <p>Absolute child</p>
  </div>
</div>

Absolutely positioning elements

Use absolute to position an element outside the normal flow of the document, causing neighboring elements to act as if the element doesn't exist.

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.

With static positioning

Relative parent
Static parent
Static child
Static sibling

With absolute positioning

Relative parent
Static parent
Absolute child
Static sibling
html
<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>

Fixed positioning elements

Use fixed to position an element relative to the browser window.

Any offsets are calculated relative to the viewport and the element will act as a position reference for absolutely positioned children.

Imaginary browser window

Warp Scientists

  • AI generated picture of 1950s scientists working on a warp drive
    Justina Matter
    Warp Scientist
  • AI generated picture of 1950s scientists working on a warp drive
    Narve Hoops
    Warp Scientist
  • AI generated picture of 1950s scientists working on a warp drive
    Dagny Calamity
    Warp Scientist
  • AI generated picture of 1950s scientists working on a warp drive
    Joar Quack
    Warp Scientist
html
<div>
  <h4 class="fixed top-0 left-0 right-0">Warp Scientists</h4>
  <ul>
    <li>
      <img src="..." />
      <div>Justina Matter</div>
    </li>
    <li>
      <img src="..." />
      <div>Narve Hoops</div>
    </li>
    <!-- ... -->
  </ul>
</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.

Any offsets are calculated relative to the element’s normal position and the element will act as a position reference for absolutely positioned children.

A - Warp Scientists

  • AI generated picture of 1950s scientists working on a warp driveAinsley Matter
  • AI generated picture of 1950s scientists working on a warp driveAlarik Hoops
  • AI generated picture of 1950s scientists working on a warp driveAmbrose Calamity
  • AI generated picture of 1950s scientists working on a warp driveAnders Quack

B - Warp Scientists

  • AI generated picture of 1950s scientists working on a warp driveBella Matter
  • AI generated picture of 1950s scientists working on a warp driveBrayden Hoops
  • AI generated picture of 1950s scientists working on a warp driveBailey Calamity
  • AI generated picture of 1950s scientists working on a warp driveBentley Quack

C - Warp Scientists

  • AI generated picture of 1950s scientists working on a warp driveCharlotte Matter
  • AI generated picture of 1950s scientists working on a warp driveCarter Hoops
  • AI generated picture of 1950s scientists working on a warp driveClaire Calamity
  • AI generated picture of 1950s scientists working on a warp driveCora Quack
html
<div>
  <div>
    <h4 class="sticky top-0 left-0 right-0 ...">A - Warp Scientists</h4>
    <ul>
      <li>
        <img src="..." />
        <strong>Ainsley Matter</strong>
      </li>
      <li>
        <img src="..." />
        <strong>Alarik Hoops</strong>
      </li>
      <!-- ... -->
    </ul>
  </div>
  <div>
    <h4 class="sticky top-0 left-0 right-0 ...">B - Warp Scientists</h4>
    <ul>
      <li>
        <img src="..." />
        <strong>Bella Matter</strong>
      </li>
      <!-- ... -->
    </ul>
  </div>
  <!-- ... -->
</div>

Applying conditionally

Breakpoints and media queries

You can also use variant modifiers to target media queries like responsive breakpoints, dark mode, prefers-reduced-motion, and more. For example, use md:absolute to apply the absolute utility at only medium screen sizes and above.

html
<div class="relative md:absolute">
  <!-- ... -->
</div>

Released under the Apache 2.0 License.