Layout

Divider

Display a separator between content.

Usage

You can pass label, icon or avatar to the divider component.

Label

OR
<UDivider label="OR" />

Icon

Use any icon from Iconify by setting the icon prop by using this pattern: i-{collection_name}-{icon_name}.

<UDivider icon="i-simple-icons-github" />

Avatar

Use the avatar prop as an object and configure it with any of its props.

<UDivider
  :avatar="{ src: 'https://avatars.githubusercontent.com/u/739984?v=4' }"
/>

Orientation

You can change the orientation of the divider by setting the orientation prop to horizontal or vertical. Defaults to horizontal.

OR
OR
<script setup>
const form = reactive({ email: 'mail@example.com', password: 'password' })
</script>

<template>
  <div class="w-full flex flex-col gap-y-4">
    <UCard :ui="{ body: { base: 'grid grid-cols-3' } }">
      <div class="space-y-4">
        <UFormGroup label="Email" name="email">
          <UInput v-model="form.email" />
        </UFormGroup>

        <UFormGroup label="Password" name="password">
          <UInput v-model="form.password" type="password" />
        </UFormGroup>

        <UButton label="Login" color="gray" block />
      </div>

      <UDivider label="OR" color="gray" orientation="vertical" />

      <div class="space-y-4 flex flex-col justify-center">
        <UButton color="black" label="Login with GitHub" icon="i-simple-icons-github" block />
        <UButton color="black" label="Login with Google" icon="i-simple-icons-google" block />
      </div>
    </UCard>

    <UCard>
      <div class="space-y-4">
        <UFormGroup label="Email" name="email">
          <UInput v-model="form.email" />
        </UFormGroup>

        <UFormGroup label="Password" name="password">
          <UInput v-model="form.password" type="password" />
        </UFormGroup>

        <UButton label="Login" color="gray" block />

        <UDivider label="OR" color="gray" />

        <UButton color="black" label="Login with GitHub" icon="i-simple-icons-github" block />
        <UButton color="black" label="Login with Google" icon="i-simple-icons-google" block />
      </div>
    </UCard>
  </div>
</template>

Type

You can change the type of the divider by setting the type prop to solid, dotted or dashed. Defaults to solid.

Nuxt UI
<UDivider label="Nuxt UI" type="dashed" />

Size

You can change the size of the divider by using the ui prop

Nuxt UI
<UDivider
  label="Nuxt UI"
  :ui="{ border: { size: { horizontal: 'border-t-2' } } }"
/>

Color

You can change the color of the content by using the ui prop

Nuxt UI
<UDivider
  label="Nuxt UI"
  :ui="{ label: 'text-primary-500 dark:text-primary-400' }"
/>

Slots

default

Use the default slot to add content to the divider.

<template>
  <UDivider>
    <Logo class="w-28 h-6" />
  </UDivider>
</template>

Props

type
"solid" | "dotted" | "dashed"
"solid"
label
string
null
icon
string
null
ui
any
undefined
avatar
any
null
orientation
"horizontal" | "vertical"
"horizontal"

Config

UDivider.vue
{
  "wrapper": {
    "base": "flex items-center align-center text-center w-full",
    "horizontal": "flex-row",
    "vertical": "flex-col"
  },
  "container": {
    "base": "font-medium text-gray-700 dark:text-gray-200 flex",
    "horizontal": "mx-3 whitespace-nowrap",
    "vertical": "my-2"
  },
  "border": {
    "base": "flex border-gray-200 dark:border-gray-800",
    "horizontal": "w-full",
    "vertical": "h-full",
    "size": {
      "horizontal": "border-t",
      "vertical": "border-s"
    }
  },
  "icon": {
    "base": "flex-shrink-0 w-5 h-5"
  },
  "avatar": {
    "base": "flex-shrink-0",
    "size": "2xs"
  },
  "label": "text-sm"
}