Skip to main content

Tailwind CSS Divide Cheatsheet

Complete Tailwind v4 divide utilities reference. Add borders between child elements with divide-x, divide-y, and style utilities.
Click any class to copy to clipboard.

How Divide Utilities Work

Tailwind's divide utilities add borders between child elements, not around them. They use CSS selectors to target all children except the first, creating the appearance of separators.

divide-y

Adds horizontal lines between vertically stacked items

divide-x

Adds vertical lines between horizontally placed items

Divide Width Y (Vertical Stacks)

ClassCSS / Description
divide-y-0border-block-start-width: 0px
divide-yborder-block-start-width: 1px
divide-y-2border-block-start-width: 2px
divide-y-4border-block-start-width: 4px
divide-y-8border-block-start-width: 8px
divide-y-reverseReverses divide direction

Vertical Dividers (divide-y) - Visual Examples

Use divide-y for stacked layouts. Dividers appear between items.

divide-y

Item 1
Item 2
Item 3

divide-y-2

Item 1
Item 2
Item 3

divide-y-4

Item 1
Item 2
Item 3

Divide Width X (Horizontal Rows)

ClassCSS / Description
divide-x-0border-inline-start-width: 0px
divide-xborder-inline-start-width: 1px
divide-x-2border-inline-start-width: 2px
divide-x-4border-inline-start-width: 4px
divide-x-8border-inline-start-width: 8px
divide-x-reverseReverses divide direction

Horizontal Dividers (divide-x) - Visual Examples

Use divide-x for side-by-side layouts. Dividers appear between items.

divide-x

Item 1
Item 2
Item 3

divide-x-2

Item 1
Item 2
Item 3

divide-x-4

Item 1
Item 2
Item 3

Divide Style

ClassCSS / Description
divide-solidborder-style: solid
divide-dashedborder-style: dashed
divide-dottedborder-style: dotted
divide-doubleborder-style: double
divide-noneborder-style: none

Divide Styles - Visual Examples

divide-solid

Item 1
Item 2
Item 3

divide-dashed

Item 1
Item 2
Item 3

divide-dotted

Item 1
Item 2
Item 3

divide-double

Item 1
Item 2
Item 3

Divide Color

Use any Tailwind color with the divide-* prefix. Add opacity with /50, /75, etc.

ClassDescription
divide-inheritInherits color from parent
divide-currentUses current text color
divide-transparentTransparent divider
divide-black#000000
divide-white#ffffff
divide-{color}-{shade}Any color (e.g., divide-gray-200, divide-blue-500)
divide-{color}-{shade}/{opacity}With opacity (e.g., divide-gray-500/50)

Divide Colors - Visual Examples

Combine divide width with any Tailwind color. Use opacity modifiers like divide-gray-500/50.

slate

Item 1
Item 2
Item 1
Item 2
Item 1
Item 2

divide-slate-400

gray

Item 1
Item 2
Item 1
Item 2
Item 1
Item 2

divide-gray-400

red

Item 1
Item 2
Item 1
Item 2
Item 1
Item 2

divide-red-400

blue

Item 1
Item 2
Item 1
Item 2
Item 1
Item 2

divide-blue-400

green

Item 1
Item 2
Item 1
Item 2
Item 1
Item 2

divide-green-400

purple

Item 1
Item 2
Item 1
Item 2
Item 1
Item 2

divide-purple-400

Practical Examples

List Items

JD

John Doe

john@example.com

AS

Alice Smith

alice@example.com

BJ

Bob Johnson

bob@example.com

<div class="divide-y divide-gray-200">
  <div class="p-4">User 1</div>
  <div class="p-4">User 2</div>
  <div class="p-4">User 3</div>
</div>

Navigation Menu

<nav class="flex divide-x divide-gray-200">
  <a href="#" class="px-4 py-3">Home</a>
  <a href="#" class="px-4 py-3">Products</a>
  <a href="#" class="px-4 py-3">About</a>
</nav>

Card Sections

Card Title

Subtitle or description

Card content goes here. This is the main body of the card.

<div class="divide-y divide-gray-200">
  <div class="p-4">Header</div>
  <div class="p-4">Content</div>
  <div class="p-4">Footer</div>
</div>

Stats Row

128

Projects

1.2k

Followers

340

Following

<div class="flex divide-x divide-gray-200">
  <div class="flex-1 p-4">Stat 1</div>
  <div class="flex-1 p-4">Stat 2</div>
  <div class="flex-1 p-4">Stat 3</div>
</div>

Divide vs Border - When to Use Each

Using Divide

Item 1
Item 2
Item 3

Use divide when:

  • You want separators between items only
  • Building lists, menus, or stacked layouts
  • You don't want a border around the container
  • Items flow in a single direction

Using Border

Item 1
Item 2
Item 3

Use border when:

  • Each item needs its own border
  • Building cards or boxed components
  • Items have spacing/gap between them
  • Items are in a grid layout

Tip: If you have gap between items, divide won't work well because the divider only appears on the element's edge. Use individual borders or a different approach like pseudo-elements.

Usage Tips

Combining Width, Color & Style

<div class="divide-y-2 divide-dashed divide-gray-300">
  <div>Item 1</div>
  <div>Item 2</div>
</div>

Responsive Divide

<div class="divide-y md:divide-y-0 md:divide-x">
  <!-- Stack on mobile, row on desktop -->
</div>

With Flex Direction

<div class="flex flex-col divide-y">
  <!-- Vertical stack with dividers -->
</div>
<div class="flex flex-row divide-x">
  <!-- Horizontal row with dividers -->
</div>

Opacity Modifier

<div class="divide-y divide-black/10">
  <!-- Subtle black divider at 10% opacity -->
</div>

About Tailwind Divide

Tailwind's divide utilities are a convenient way to add borders between child elements without manually adding border classes to each item.

They work by adding border-top (for divide-y) or border-left (for divide-x) to all children except the first.

For responsive designs, use breakpoint prefixes: md:divide-x, lg:divide-y-2

Frequently Asked Questions

What's the difference between divide and border utilities?

Border utilities apply borders to all sides of an element, while divide utilities add borders only between child elements. Use divide for lists, stacked items, or navigation menus where you want separators between items but not around the container. Use border when you want borders around individual elements.

How do divide utilities work under the hood?

Tailwind's divide utilities use the :not(:first-child) selector to add borders between elements. For divide-y, it adds a border-top to all children except the first. For divide-x, it adds a border-left to all children except the first. This creates the appearance of dividers between items.

When should I use divide-x vs divide-y?

Use divide-y for vertical stacks (flex-col or block elements) where items are stacked top-to-bottom. Use divide-x for horizontal layouts (flex-row or inline elements) where items are side-by-side. The divider appears perpendicular to the flow direction.

What is divide-x-reverse and divide-y-reverse for?

The reverse utilities are for use with flex-row-reverse or flex-col-reverse. When you reverse the flex direction, the visual order changes but the DOM order doesn't. The reverse divide utilities ensure dividers appear correctly between visually adjacent items in reversed layouts.

Can I use divide with grid layouts?

Divide utilities work best with flex layouts or stacked block elements. For grid layouts, the border approach between elements can be unpredictable. Consider using border utilities on individual cells or gap with a background color for grid separators instead.