Align self

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


Class reference

ClassProperties
self-autoalign-self: auto;
self-startalign-self: flex-start;
self-centeralign-self: center;
self-endalign-self: flex-end;
self-stretchalign-self: stretch;

# Auto

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

1
2
3
<div class="flex items-stretch bg-gray-200 h-24">
<div class="flex-1 text-gray-700 text-center bg-gray-400 px-4 py-2 m-2">1</div>
<div class="self-auto flex-1 text-gray-800 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>

# Start

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

1
2
3
<div class="flex items-stretch bg-gray-200 h-24">
<div class="flex-1 text-gray-700 text-center bg-gray-400 px-4 py-2 m-2">1</div>
<div class="self-start flex-1 text-gray-800 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 .self-center to align an item along the center of the flex container’s cross axis, despite the container’s align-items value:

1
2
3
<div class="flex items-stretch bg-gray-200 h-24">
<div class="flex-1 text-gray-700 text-center bg-gray-400 px-4 py-2 m-2">1</div>
<div class="self-center flex-1 text-gray-800 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 .self-end to align an item to the end of the flex container’s cross axis, despite the container’s align-items value:

1
2
3
<div class="flex items-stretch bg-gray-200 h-24">
<div class="flex-1 text-gray-700 text-center bg-gray-400 px-4 py-2 m-2">1</div>
<div class="self-end flex-1 text-gray-800 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 .self-stretch to stretch an item to fill the flex container’s cross axis, despite the container’s align-items value:

1
2
3
<div class="flex items-start bg-gray-200 h-24">
<div class="flex-1 text-gray-700 text-center bg-gray-400 px-4 py-2 m-2">1</div>
<div class="self-stretch flex-1 text-gray-800 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>

# Responsive

To control the alignment of a flex item at a specific breakpoint, add a {screen}: prefix to any existing utility class. For example, use md:self-end to apply the self-end utility at only medium screen sizes and above.

For more information about Elements’ responsive design features, check out the Responsive Design documentation.