Position
Use these shorthand utilities for quickly configuring the position of an element.
On this page
Position values
Quick positioning classes are available, though they are not responsive.
<div class="position-static">...</div>
<div class="position-relative">...</div>
<div class="position-absolute">...</div>
<div class="position-fixed">...</div>
<div class="position-sticky">...</div>
Arrange elements
Arrange elements easily with the edge positioning utilities. The format is {property}-{position}.
Where property is one of:
top- for the verticaltoppositionstart- for the horizontalleftposition (in LTR)bottom- for the verticalbottompositionend- for the horizontalrightposition (in LTR)
Where position is one of:
0- for0edge position50- for50%edge position100- for100%edge position
(You can add more position values by adding entries to the $position-values Sass map variable.)
<div class="position-relative">
<div class="position-absolute top-0 start-0"></div>
<div class="position-absolute top-0 end-0"></div>
<div class="position-absolute top-50 start-50"></div>
<div class="position-absolute bottom-50 end-50"></div>
<div class="position-absolute bottom-0 start-0"></div>
<div class="position-absolute bottom-0 end-0"></div>
</div> Center elements
In addition, you can also center the elements with the transform utility class .translate-middle.
This class applies the transformations translateX(-50%) and translateY(-50%) to the element which, in combination with the edge positioning utilities, allows you to absolute center an element.
<div class="position-relative">
<div class="position-absolute top-0 start-0 translate-middle"></div>
<div class="position-absolute top-0 start-50 translate-middle"></div>
<div class="position-absolute top-0 start-100 translate-middle"></div>
<div class="position-absolute top-50 start-0 translate-middle"></div>
<div class="position-absolute top-50 start-50 translate-middle"></div>
<div class="position-absolute top-50 start-100 translate-middle"></div>
<div class="position-absolute top-100 start-0 translate-middle"></div>
<div class="position-absolute top-100 start-50 translate-middle"></div>
<div class="position-absolute top-100 start-100 translate-middle"></div>
</div> By adding .translate-middle-x or .translate-middle-y classes, elements can be positioned only in horizontal or vertical direction.
<div class="position-relative">
<div class="position-absolute top-0 start-0"></div>
<div class="position-absolute top-0 start-50 translate-middle-x"></div>
<div class="position-absolute top-0 end-0"></div>
<div class="position-absolute top-50 start-0 translate-middle-y"></div>
<div class="position-absolute top-50 start-50 translate-middle"></div>
<div class="position-absolute top-50 end-0 translate-middle-y"></div>
<div class="position-absolute bottom-0 start-0"></div>
<div class="position-absolute bottom-0 start-50 translate-middle-x"></div>
<div class="position-absolute bottom-0 end-0"></div>
</div> Fixed top
Position an element at the top of the viewport, from edge to edge. Be sure you understand the ramifications of fixed position in your project; you may need to add additional CSS.
<div class="fixed-top">...</div> Fixed bottom
Position an element at the bottom of the viewport, from edge to edge. Be sure you understand the ramifications of fixed position in your project; you may need to add additional CSS.
<div class="fixed-bottom">...</div> Sticky top
Position an element at the top of the viewport, from edge to edge, but only after you scroll past it.
<div class="sticky-top">...</div> Responsive sticky top
Responsive variations also exist for .sticky-top utility.
<div class="sticky-xs-top">Stick to the top on viewports sized XS (x-small) or wider</div>
<div class="sticky-sm-top">Stick to the top on viewports sized SM (small) or wider</div>
<div class="sticky-md-top">Stick to the top on viewports sized MD (medium) or wider</div>
<div class="sticky-lg-top">Stick to the top on viewports sized LG (large) or wider</div>
<div class="sticky-xl-top">Stick to the top on viewports sized XL (x-large) or wider</div>
<div class="sticky-2xl-top">Stick to the top on viewports sized 2XL (2x-large) or wider</div>
<div class="sticky-3xl-top">Stick to the top on viewports sized 3XL (3x-large) or wider</div> Sticky bottom
Position an element at the bottom of the viewport, from edge to edge, but only after you scroll past it.
<div class="sticky-bottom">...</div> Responsive sticky bottom
Responsive variations also exist for .sticky-bottom utility.
<div class="sticky-xs-bottom">Stick to the bottom on viewports sized XS (x-small) or wider</div>
<div class="sticky-sm-bottom">Stick to the bottom on viewports sized SM (small) or wider</div>
<div class="sticky-md-bottom">Stick to the bottom on viewports sized MD (medium) or wider</div>
<div class="sticky-lg-bottom">Stick to the bottom on viewports sized LG (large) or wider</div>
<div class="sticky-xl-bottom">Stick to the bottom on viewports sized XL (x-large) or wider</div>
<div class="sticky-2xl-bottom">Stick to the bottom on viewports sized 2XL (2x-large) or wider</div>
<div class="sticky-3xl-bottom">Stick to the bottom on viewports sized 3XL (3x-large) or wider</div>