Divide Width
Tailwind CSS version
v1.3.0+
Utilities for controlling the border width between elements.
Class reference
Class | Properties |
---|---|
.divide-y-0 > + | border-top-width: 0; |
.divide-x-0 > + | border-left-width: 0; |
.divide-y-2 > + | border-top-width: 2px; |
.divide-x-2 > + | border-left-width: 2px; |
.divide-y-4 > + | border-top-width: 4px; |
.divide-x-4 > + | border-left-width: 4px; |
.divide-y-8 > + | border-top-width: 8px; |
.divide-x-8 > + | border-left-width: 8px; |
.divide-y > + | border-top-width: 1px; |
.divide-x > + | border-left-width: 1px; |
.divide-y-reverse > + | —divide-y-reverse: 1; |
.divide-x-reverse > + | —divide-x-reverse: 1; |
Add borders between horizontal children
Add borders between horizontal elements using the divide-x-{amount}
utilities.
<div class="grid grid-cols-3 divide-x divide-gray-400">
<div class="text-center">1</div>
<div class="text-center">2</div>
<div class="text-center">3</div>
</div>
Add borders between stacked children
Add borders between stacked elements using the divide-y-{amount}
utilities.
<div class="divide-y divide-gray-400">
<div class="text-center py-2">1</div>
<div class="text-center py-2">2</div>
<div class="text-center py-2">3</div>
</div>
Reversing children order
If your elements are in reverse order (using say flex-row-reverse
or flex-col-reverse
), use the divide-x-reverse
or divide-y-reverse
utilities to ensure the border is added to the correct side of each element.
<div class="flex flex-col-reverse divide-y divide-y-reverse divide-gray-400">
<div class="text-center py-2">1</div>
<div class="text-center py-2">2</div>
<div class="text-center py-2">3</div>
</div>
Responsive
To control the borders between elements at a specific breakpoint, add a {screen}:
prefix to any existing divide utility. For example, adding the class md:divide-x-8
to an element would apply the divide-x-8
utility at medium screen sizes and above.
For more information about Tailwind’s responsive design features, check out the Responsive Design documentation.
all
sm
md
lg
xl
<div class="divide-y sm:divide-y-2 md:divide-y-4 lg:divide-y-8 xl:divide-y-0 divide-gray-400">
<div class="text-center py-2">1</div>
<div class="text-center py-2">2</div>
<div class="text-center py-2">3</div>
</div>
1
2
3
Customizing
Divide width scale
The divide width scale inherits its values from the borderWidth
scale by default, so if you’d like to customize your values for both border width and divide width together, use the theme.borderWidth
section of your tailwind.config.js
file.
// tailwind.config.js
module.exports = {
theme: {
borderWidth: {
default: '1px',
'0': '0',
'2': '2px',
+ '3': '3px',
'4': '4px',
+ '6': '6px',
- '8': '8px',
}
}
}
To customize only the divide width values, use the theme.divideWidth
section of your tailwind.config.js
file.
// tailwind.config.js
module.exports = {
theme: {
divideWidth: {
default: '1px',
'0': '0',
'2': '2px',
+ '3': '3px',
'4': '4px',
+ '6': '6px',
- '8': '8px',
}
}
}
Learn more about customizing the default theme in the theme customization documentation.
Responsive and pseudo-class variants
By default, only responsive variants are generated for divide width utilities.
You can control which variants are generated for the divide width utilities by modifying the divideWidth
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: {
// ...
- divideWidth: ['responsive'],
+ divideWidth: ['responsive', 'hover', 'focus'],
}
}
Disabling
If you don’t plan to use the divide width utilities in your project, you can disable them entirely by setting the divideWidth
property to false
in the corePlugins
section of your config file:
// tailwind.config.js
module.exports = {
corePlugins: {
// ...
+ divideWidth: false,
}
}