Align Self

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

Class reference

Class
Properties
.self-autoalign-self: auto;
.self-startalign-self: flex-start;
.self-endalign-self: flex-end;
.self-centeralign-self: center;
.self-stretchalign-self: stretch;

Auto

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

Align Self - 图1

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

Start

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

Align Self - 图2

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

Center

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

Align Self - 图3

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

End

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

Align Self - 图4

  1. <div class="flex items-stretch bg-gray-200 h-24">
  2. <div class="flex-1 text-gray-700 text-center bg-gray-400 px-4 py-2 m-2">1</div>
  3. <div class="self-end flex-1 text-gray-800 text-center bg-gray-500 px-4 py-2 m-2">2</div>
  4. <div class="flex-1 text-gray-700 text-center bg-gray-400 px-4 py-2 m-2">3</div>
  5. </div>

Stretch

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

Align Self - 图5

  1. <div class="flex items-start bg-gray-200 h-24">
  2. <div class="flex-1 text-gray-700 text-center bg-gray-400 px-4 py-2 m-2">1</div>
  3. <div class="self-stretch flex-1 text-gray-800 text-center bg-gray-500 px-4 py-2 m-2">2</div>
  4. <div class="flex-1 text-gray-700 text-center bg-gray-400 px-4 py-2 m-2">3</div>
  5. </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 Tailwind’s responsive design features, check out the Responsive Design documentation.

Align Self - 图6

all

Align Self - 图7

sm

Align Self - 图8

md

Align Self - 图9

lg

Align Self - 图10

xl

  1. <div class="items-stretch ...">
  2. <!-- ... -->
  3. <div class="self-auto sm:self-start md:self-end lg:self-center xl:self-stretch ...">2</div>
  4. <!-- ... -->
  5. </div>

1

2

3

Customizing

Responsive and pseudo-class variants

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

You can control which variants are generated for the align-self utilities by modifying the alignSelf property in the variants section of your tailwind.config.js file.

For example, this config will also generate hover and focus variants:

  1. // tailwind.config.js
  2. module.exports = {
  3. variants: {
  4. // ...
  5. - alignSelf: ['responsive'],
  6. + alignSelf: ['responsive', 'hover', 'focus'],
  7. }
  8. }

Disabling

If you don’t plan to use the align-self utilities in your project, you can disable them entirely by setting the alignSelf property to false in the corePlugins section of your config file:

  1. // tailwind.config.js
  2. module.exports = {
  3. corePlugins: {
  4. // ...
  5. + alignSelf: false,
  6. }
  7. }

← Align Items   Place Content →