Align self

Utilities for controlling how an individual flex item is positioned along its container’s cross axis.

In this article

Class Properties
.align-self-start align-self: flex-start;
.align-self-center align-self: center;
.align-self-end align-self: flex-end;
.align-self-baseline align-self: baseline;
.align-self-stretch align-self: stretch;
.align-self-auto align-self: auto;

Usage

Start

Use .align-self-start to align an item to the start of the flex container’s cross axis, despite the container’s align-items value.

<div class="flex bg-gray-200 h-9">
  <div class="flex-1 text-gray-700 text-center bg-gray-400 px-4 py-2 m-2">1</div>
  <div class="align-self-start flex-1 text-gray-700 text-center bg-gray-500 px-4 py-2 m-2">2</div>
  <div class="flex-1 text-gray-700 text-center bg-gray-400 px-4 py-2 m-2">3</div>
</div>

Center

Use .align-self-center to align an item to the end of the flex container’s cross axis, despite the container’s align-items value.

<div class="flex bg-gray-200 h-9">
  <div class="flex-1 text-gray-700 text-center bg-gray-400 px-4 py-2 m-2">1</div>
  <div class="align-self-center flex-1 text-gray-700 text-center bg-gray-500 px-4 py-2 m-2">2</div>
  <div class="flex-1 text-gray-700 text-center bg-gray-400 px-4 py-2 m-2">3</div>
</div>

End

Use .align-self-end to align an item along the center of the flex container’s cross axis, despite the container’s align-items value.

<div class="flex bg-gray-200 h-9">
  <div class="flex-1 text-gray-700 text-center bg-gray-400 px-4 py-2 m-2">1</div>
  <div class="align-self-end flex-1 text-gray-700 text-center bg-gray-500 px-4 py-2 m-2">2</div>
  <div class="flex-1 text-gray-700 text-center bg-gray-400 px-4 py-2 m-2">3</div>
</div>

Stretch

Use .align-self-stretch to stretch an item to fill the flex container’s cross axis, despite the container’s align-items value.

<div class="flex align-items-start bg-gray-200 h-9">
  <div class="flex-1 text-gray-700 text-center bg-gray-400 px-4 py-2 m-2">1</div>
  <div class="align-self-stretch flex-1 text-gray-700 text-center bg-gray-500 px-4 py-2 m-2">2</div>
  <div class="flex-1 text-gray-700 text-center bg-gray-400 px-4 py-2 m-2">3</div>
</div>

Auto

Use .align-self-auto to align an item based on the value of the flex container’s align-items property.

<div class="flex align-items-stretch bg-gray-200 h-9">
  <div class="flex-1 text-gray-700 text-center bg-gray-400 px-4 py-2 m-2">1</div>
  <div class="align-self-auto flex-1 text-gray-700 text-center bg-gray-500 px-4 py-2 m-2">2</div>
  <div class="flex-1 text-gray-700 text-center bg-gray-400 px-4 py-2 m-2">3</div>
</div>

Variants

By default, only responsive variants are generated for align self utilities.

Responsive

To control the individual alignment of a flex item at a specific breakpoint, add a {screen}: prefix to any existing align self utility.

For example, use .md:align-self-start to apply the align-self-start utility at only medium screen sizes and above.

Hover-state

To include hover-state variants like .hover:align-self-start, add "align-self" to the $hover-variants variable when recompiling your CSS:

$hover-variants: (
  // ...
  "align-self",
);

Questions or feedback about this article? Let us know