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"
}