Tailwind CSS divide-y Class
The divide-y utility class generates the following CSS when applied to an element.
CSS Output
.divide-y {
/* > :not([hidden]) ~ :not([hidden]) */
border-top-width: 1px;
border-bottom-width: 0px;
}Variants
Use these variant prefixes to apply divide-y conditionally:
Use It
<ul class="divide-y divide-gray-200">
<li class="py-3">Item 1</li>
<li class="py-3">Item 2</li>
<li class="py-3">Item 3</li>
</ul>Understanding divide-y
The Tailwind CSS divide-y utility applies /* > :not([hidden]) ~ :not([hidden]) */ to an element when added to its class attribute. It adds horizontal dividers between child elements by applying a top border to all but the first visible child. A convenient alternative to manually adding border-b to each item.
This utility is part of Tailwind's Borders module, designed for adding border widths, styles, radii, and dividers to visually define element boundaries. In Tailwind's utility-first workflow, you add divide-y directly to your HTML elements rather than writing custom CSS. This approach accelerates development and keeps styles co-located with your markup, making it easy to see exactly how each element is styled at a glance.
Common responsive variants include sm:divide-y, md:divide-y, lg:divide-y, and xl:divide-y, allowing different behavior at each breakpoint. State variants like hover:divide-y and focus:divide-y enable interactive styling without any JavaScript. You can also combine multiple variants for fine-grained control over when the utility applies.
This class works well alongside `divide-x`, `border-b`, `border-t`, `space-y-2` to build complete, production-ready interfaces. Tailwind's tree-shaking ensures only utilities you actually use appear in your final CSS bundle, keeping file sizes minimal. Browser support for the underlying CSS is excellent across Chrome, Firefox, Safari, and Edge.
Related Classes
Explore More Tailwind Classes
Browse our complete reference of 321 Tailwind CSS utility classes with CSS output, variants, and examples.