Justify Self

Tailwind CSS version
v1.8.0+

Utilities for controlling how an individual grid item is aligned along its inline axis.

Class reference

Class
Properties
.justify-self-autojustify-self: auto;
.justify-self-startjustify-self: start;
.justify-self-endjustify-self: end;
.justify-self-centerjustify-self: center;
.justify-self-stretchjustify-self: stretch;

Auto

Use justify-self-auto to align an item based on the value of the grid's justify-items property:

1
2
3
4
5
6
<div class="grid grid-cols-3 gap-4 justify-items-stretch h-48">
  <div class="text-gray-700 bg-gray-400 flex justify-center items-center px-4 py-2">1</div>
  <div class="justify-self-auto text-gray-800 bg-gray-500 flex justify-center items-center px-4 py-2">2</div>
  <div class="text-gray-700 bg-gray-400 flex justify-center items-center px-4 py-2">3</div>
  <div class="text-gray-700 bg-gray-400 flex justify-center items-center px-4 py-2">4</div>
  <div class="text-gray-700 bg-gray-400 flex justify-center items-center px-4 py-2">5</div>
  <div class="text-gray-700 bg-gray-400 flex justify-center items-center px-4 py-2">6</div>
</div>

Start

Use justify-self-start to align a grid item to the start its inline axis:

1
2
3
4
5
6
<div class="grid grid-cols-3 gap-4 justify-items-stretch h-48">
  <div class="text-gray-700 bg-gray-400 flex justify-center items-center px-4 py-2">1</div>
  <div class="justify-self-start text-gray-800 bg-gray-500 flex justify-center items-center px-4 py-2">2</div>
  <div class="text-gray-700 bg-gray-400 flex justify-center items-center px-4 py-2">3</div>
  <div class="text-gray-700 bg-gray-400 flex justify-center items-center px-4 py-2">4</div>
  <div class="text-gray-700 bg-gray-400 flex justify-center items-center px-4 py-2">5</div>
  <div class="text-gray-700 bg-gray-400 flex justify-center items-center px-4 py-2">6</div>
</div>

Center

Use justify-self-center to align a grid item along the center its inline axis:

1
2
3
4
5
6
<div class="grid grid-cols-3 gap-4 justify-items-stretch h-48">
  <div class="text-gray-700 bg-gray-400 flex justify-center items-center px-4 py-2">1</div>
  <div class="justify-self-center text-gray-800 bg-gray-500 flex justify-center items-center px-4 py-2">2</div>
  <div class="text-gray-700 bg-gray-400 flex justify-center items-center px-4 py-2">3</div>
  <div class="text-gray-700 bg-gray-400 flex justify-center items-center px-4 py-2">4</div>
  <div class="text-gray-700 bg-gray-400 flex justify-center items-center px-4 py-2">5</div>
  <div class="text-gray-700 bg-gray-400 flex justify-center items-center px-4 py-2">6</div>
</div>

End

Use justify-self-end to align a grid item to the end its inline axis:

1
2
3
4
5
6
<div class="grid grid-cols-3 gap-4 justify-items-stretch h-48">
  <div class="text-gray-700 bg-gray-400 flex justify-center items-center px-4 py-2">1</div>
  <div class="justify-self-end text-gray-800 bg-gray-500 flex justify-center items-center px-4 py-2">2</div>
  <div class="text-gray-700 bg-gray-400 flex justify-center items-center px-4 py-2">3</div>
  <div class="text-gray-700 bg-gray-400 flex justify-center items-center px-4 py-2">4</div>
  <div class="text-gray-700 bg-gray-400 flex justify-center items-center px-4 py-2">5</div>
  <div class="text-gray-700 bg-gray-400 flex justify-center items-center px-4 py-2">6</div>
</div>

Stretch

Use justify-self-stretch to stretch a grid item to fill the grid area on its inline axis:

1
2
3
4
5
6
<div class="grid grid-cols-3 gap-4 justify-items-start h-48">
  <div class="text-gray-700 bg-gray-400 flex justify-center items-center px-4 py-2">1</div>
  <div class="justify-self-stretch text-gray-800 bg-gray-500 flex justify-center items-center px-4 py-2">2</div>
  <div class="text-gray-700 bg-gray-400 flex justify-center items-center px-4 py-2">3</div>
  <div class="text-gray-700 bg-gray-400 flex justify-center items-center px-4 py-2">4</div>
  <div class="text-gray-700 bg-gray-400 flex justify-center items-center px-4 py-2">5</div>
  <div class="text-gray-700 bg-gray-400 flex justify-center items-center px-4 py-2">6</div>
</div>

Responsive

To control the alignment of a grid item inside its grid area at a specific breakpoint, add a {screen}: prefix to any existing utility class. For example, use md:justify-self-end to apply the justify-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.

Customizing

Responsive and pseudo-class variants

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

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

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

  // tailwind.config.js
  module.exports = {
    variants: {
      // ...
-     justifySelf: ['responsive'],
+     justifySelf: ['responsive', 'hover', 'focus'],
    }
  }

Disabling

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

  // tailwind.config.js
  module.exports = {
    corePlugins: {
      // ...
+     justifySelf: false,
    }
  }

Tailwind UI is now in early access!