Button
Commonly used button.
Basic usage
Use type
, plain
, round
and circle
to define Button's style.
vue
<!-- @format -->
<template>
<div class="mb-4">
<el-button-pro>Default</el-button-pro>
<el-button-pro loading type="primary" class="el-button-pro--3d" size="large"
>Primary</el-button-pro
>
<el-button-pro
disabled
type="primary"
class="el-button-pro--3d"
size="large"
>Primary</el-button-pro
>
<el-button-pro loading type="primary" class="el-button-pro--3d" size="large"
>Primary</el-button-pro
>
<el-button-pro type="primary" class="el-button-pro--3d" size="small"
>Primary</el-button-pro
>
<el-button-pro type="success">Success</el-button-pro>
<el-button-pro type="info">Info</el-button-pro>
<el-button-pro type="warning">Warning</el-button-pro>
<el-button-pro type="danger">Danger</el-button-pro>
</div>
<div class="mb-4">
<el-button plain>Plain</el-button>
<el-button type="primary" plain>Primary</el-button>
<el-button type="success" plain>Success</el-button>
<el-button type="info" plain>Info</el-button>
<el-button type="warning" plain>Warning</el-button>
<el-button type="danger" plain>Danger</el-button>
</div>
<div class="mb-4">
<el-button round>Round</el-button>
<el-button type="primary" round>Primary</el-button>
<el-button type="success" round>Success</el-button>
<el-button type="info" round>Info</el-button>
<el-button type="warning" round>Warning</el-button>
<el-button type="danger" round>Danger</el-button>
</div>
<div>
<el-button :icon="Search" circle />
<el-button type="primary" :icon="Edit" circle />
<el-button type="success" :icon="Check" circle />
<el-button type="info" :icon="Message" circle />
<el-button type="warning" :icon="Star" circle />
<el-button type="danger" :icon="Delete" circle />
</div>
</template>
<script lang="ts" setup>
import {
Check,
Delete,
Edit,
Message,
Search,
Star,
} from '@element-plus/icons-vue'
</script>
Hide source
style-3d-neonDisabled Button
The disabled
attribute determines if the button is disabled.
Use disabled
attribute to determine whether a button is disabled. It accepts a Boolean
value.
3D按钮 - 具有立体感的按钮
霓虹灯按钮 - 发光边框效果
vue
<!-- @format -->
<template>
<div class="demo-button-pro">
<div class="section-title">3D按钮 - 具有立体感的按钮</div>
<div class="button-row">
<el-button-pro type="primary" class="el-button-pro--3d"
>3D按钮</el-button-pro
>
<el-button-pro type="success" class="el-button-pro--3d"
>3D按钮</el-button-pro
>
<el-button-pro type="warning" class="el-button-pro--3d"
>3D按钮</el-button-pro
>
<el-button-pro type="danger" class="el-button-pro--3d"
>3D按钮</el-button-pro
>
<el-button-pro type="info" class="el-button-pro--3d"
>3D按钮</el-button-pro
>
</div>
<div class="section-title">霓虹灯按钮 - 发光边框效果</div>
<div class="button-row dark-bg">
<el-button-pro type="primary" class="el-button-pro--neon"
>霓虹灯按钮</el-button-pro
>
<el-button-pro type="success" class="el-button-pro--neon"
>霓虹灯按钮</el-button-pro
>
<el-button-pro type="warning" class="el-button-pro--neon"
>霓虹灯按钮</el-button-pro
>
<el-button-pro type="danger" class="el-button-pro--neon"
>霓虹灯按钮</el-button-pro
>
<el-button-pro type="info" class="el-button-pro--neon"
>霓虹灯按钮</el-button-pro
>
</div>
</div>
</template>
<style scoped>
.demo-button-pro {
padding: 20px;
}
.section-title {
margin: 20px 0 10px;
font-weight: bold;
font-size: 16px;
color: #333;
}
.button-row {
margin-bottom: 20px;
display: flex;
flex-wrap: wrap;
gap: 15px;
}
.dark-bg {
background-color: #222;
padding: 20px;
border-radius: 8px;
}
</style>
Hide source
style-3d-neonDisabled Button
The disabled
attribute determines if the button is disabled.
Use disabled
attribute to determine whether a button is disabled. It accepts a Boolean
value.
所有按钮样式综合展示
3D 按钮
霓虹灯按钮
渐变按钮
涟漪按钮
边框动画按钮
脉冲按钮
悬浮按钮
光泽按钮
轮廓按钮
展开按钮
抖动按钮
旋转图标按钮
弹跳按钮
折叠按钮
滑动按钮
气泡按钮
闪烁按钮
翻转按钮
阴影按钮
缩放按钮
hover背景透明到颜色
hover背景颜色到透明
vue
<!-- @format -->
<template>
<div class="demo-button-pro">
<div class="section-title">所有按钮样式综合展示</div>
<div class="style-section">
<div class="style-title">3D 按钮</div>
<div class="button-row">
<el-button-pro type="primary" class="el-button-pro--3d"
>3D按钮</el-button-pro
>
<el-button-pro type="success" class="el-button-pro--3d"
>3D按钮</el-button-pro
>
<el-button-pro type="warning" class="el-button-pro--3d"
>3D按钮</el-button-pro
>
<el-button-pro type="danger" class="el-button-pro--3d"
>3D按钮</el-button-pro
>
<el-button-pro type="info" class="el-button-pro--3d"
>3D按钮</el-button-pro
>
</div>
</div>
<div class="style-section">
<div class="style-title">霓虹灯按钮</div>
<div class="button-row">
<el-button-pro type="primary" class="el-button-pro--neon"
>霓虹灯</el-button-pro
>
<el-button-pro type="success" class="el-button-pro--neon"
>霓虹灯</el-button-pro
>
<el-button-pro type="warning" class="el-button-pro--neon"
>霓虹灯</el-button-pro
>
<el-button-pro type="danger" class="el-button-pro--neon"
>霓虹灯</el-button-pro
>
<el-button-pro type="info" class="el-button-pro--neon"
>霓虹灯</el-button-pro
>
</div>
</div>
<div class="style-section">
<div class="style-title">渐变按钮</div>
<div class="button-row">
<el-button-pro type="primary" class="el-button-pro--gradient"
>渐变按钮</el-button-pro
>
<el-button-pro type="success" class="el-button-pro--gradient"
>渐变按钮</el-button-pro
>
<el-button-pro type="warning" class="el-button-pro--gradient"
>渐变按钮</el-button-pro
>
<el-button-pro type="danger" class="el-button-pro--gradient"
>渐变按钮</el-button-pro
>
<el-button-pro type="info" class="el-button-pro--gradient"
>渐变按钮</el-button-pro
>
</div>
</div>
<div class="style-section">
<div class="style-title">涟漪按钮</div>
<div class="button-row">
<el-button-pro type="primary" class="el-button-pro--ripple"
>涟漪按钮</el-button-pro
>
<el-button-pro type="success" class="el-button-pro--ripple"
>涟漪按钮</el-button-pro
>
<el-button-pro type="warning" class="el-button-pro--ripple"
>涟漪按钮</el-button-pro
>
<el-button-pro type="danger" class="el-button-pro--ripple"
>涟漪按钮</el-button-pro
>
<el-button-pro type="info" class="el-button-pro--ripple"
>涟漪按钮</el-button-pro
>
</div>
</div>
<div class="style-section">
<div class="style-title">边框动画按钮</div>
<div class="button-row">
<el-button-pro type="primary" class="el-button-pro--border-animation"
>边框动画</el-button-pro
>
<el-button-pro type="success" class="el-button-pro--border-animation"
>边框动画</el-button-pro
>
<el-button-pro type="warning" class="el-button-pro--border-animation"
>边框动画</el-button-pro
>
<el-button-pro type="danger" class="el-button-pro--border-animation"
>边框动画</el-button-pro
>
<el-button-pro type="info" class="el-button-pro--border-animation"
>边框动画</el-button-pro
>
</div>
</div>
<div class="style-section">
<div class="style-title">脉冲按钮</div>
<div class="button-row">
<el-button-pro type="primary" class="el-button-pro--pulse"
>脉冲按钮</el-button-pro
>
<el-button-pro type="success" class="el-button-pro--pulse"
>脉冲按钮</el-button-pro
>
<el-button-pro type="warning" class="el-button-pro--pulse"
>脉冲按钮</el-button-pro
>
<el-button-pro type="danger" class="el-button-pro--pulse"
>脉冲按钮</el-button-pro
>
<el-button-pro type="info" class="el-button-pro--pulse"
>脉冲按钮</el-button-pro
>
</div>
</div>
<div class="style-section">
<div class="style-title">悬浮按钮</div>
<div class="button-row">
<el-button-pro type="primary" class="el-button-pro--float"
>悬浮按钮</el-button-pro
>
<el-button-pro type="success" class="el-button-pro--float"
>悬浮按钮</el-button-pro
>
<el-button-pro type="warning" class="el-button-pro--float"
>悬浮按钮</el-button-pro
>
<el-button-pro type="danger" class="el-button-pro--float"
>悬浮按钮</el-button-pro
>
<el-button-pro type="info" class="el-button-pro--float"
>悬浮按钮</el-button-pro
>
</div>
</div>
<div class="style-section">
<div class="style-title">光泽按钮</div>
<div class="button-row">
<el-button-pro type="primary" class="el-button-pro--shine"
>光泽按钮</el-button-pro
>
<el-button-pro type="success" class="el-button-pro--shine"
>光泽按钮</el-button-pro
>
<el-button-pro type="warning" class="el-button-pro--shine"
>光泽按钮</el-button-pro
>
<el-button-pro type="danger" class="el-button-pro--shine"
>光泽按钮</el-button-pro
>
<el-button-pro type="info" class="el-button-pro--shine"
>光泽按钮</el-button-pro
>
</div>
</div>
<div class="style-section">
<div class="style-title">轮廓按钮</div>
<div class="button-row">
<el-button-pro type="primary" class="el-button-pro--outline"
>轮廓按钮</el-button-pro
>
<el-button-pro type="success" class="el-button-pro--outline"
>轮廓按钮</el-button-pro
>
<el-button-pro type="warning" class="el-button-pro--outline"
>轮廓按钮</el-button-pro
>
<el-button-pro type="danger" class="el-button-pro--outline"
>轮廓按钮</el-button-pro
>
<el-button-pro type="info" class="el-button-pro--outline"
>轮廓按钮</el-button-pro
>
</div>
</div>
<div class="style-section">
<div class="style-title">展开按钮</div>
<div class="button-row">
<el-button-pro type="primary" class="el-button-pro--expand"
>展开按钮</el-button-pro
>
<el-button-pro type="success" class="el-button-pro--expand"
>展开按钮</el-button-pro
>
<el-button-pro type="warning" class="el-button-pro--expand"
>展开按钮</el-button-pro
>
<el-button-pro type="danger" class="el-button-pro--expand"
>展开按钮</el-button-pro
>
<el-button-pro type="info" class="el-button-pro--expand"
>展开按钮</el-button-pro
>
</div>
</div>
<div class="style-section">
<div class="style-title">抖动按钮</div>
<div class="button-row">
<el-button-pro type="primary" class="el-button-pro--shake"
>抖动按钮</el-button-pro
>
<el-button-pro type="success" class="el-button-pro--shake"
>抖动按钮</el-button-pro
>
<el-button-pro type="warning" class="el-button-pro--shake"
>抖动按钮</el-button-pro
>
<el-button-pro type="danger" class="el-button-pro--shake"
>抖动按钮</el-button-pro
>
<el-button-pro type="info" class="el-button-pro--shake"
>抖动按钮</el-button-pro
>
</div>
</div>
<div class="style-section">
<div class="style-title">旋转图标按钮</div>
<div class="button-row">
<el-button-pro
type="primary"
class="el-button-pro--rotate-icon"
:icon="Refresh"
>旋转图标</el-button-pro
>
<el-button-pro
type="success"
class="el-button-pro--rotate-icon"
:icon="Refresh"
>旋转图标</el-button-pro
>
<el-button-pro
type="warning"
class="el-button-pro--rotate-icon"
:icon="Refresh"
>旋转图标</el-button-pro
>
<el-button-pro
type="danger"
class="el-button-pro--rotate-icon"
:icon="Refresh"
>旋转图标</el-button-pro
>
<el-button-pro
type="info"
class="el-button-pro--rotate-icon"
:icon="Refresh"
>旋转图标</el-button-pro
>
</div>
</div>
<div class="style-section">
<div class="style-title">弹跳按钮</div>
<div class="button-row">
<el-button-pro type="primary" class="el-button-pro--bounce"
>弹跳按钮</el-button-pro
>
<el-button-pro type="success" class="el-button-pro--bounce"
>弹跳按钮</el-button-pro
>
<el-button-pro type="warning" class="el-button-pro--bounce"
>弹跳按钮</el-button-pro
>
<el-button-pro type="danger" class="el-button-pro--bounce"
>弹跳按钮</el-button-pro
>
<el-button-pro type="info" class="el-button-pro--bounce"
>弹跳按钮</el-button-pro
>
</div>
</div>
<div class="style-section">
<div class="style-title">折叠按钮</div>
<div class="button-row">
<el-button-pro type="primary" class="el-button-pro--fold"
>折叠按钮</el-button-pro
>
<el-button-pro type="success" class="el-button-pro--fold"
>折叠按钮</el-button-pro
>
<el-button-pro type="warning" class="el-button-pro--fold"
>折叠按钮</el-button-pro
>
<el-button-pro type="danger" class="el-button-pro--fold"
>折叠按钮</el-button-pro
>
<el-button-pro type="info" class="el-button-pro--fold"
>折叠按钮</el-button-pro
>
</div>
</div>
<div class="style-section">
<div class="style-title">滑动按钮</div>
<div class="button-row">
<el-button-pro type="primary" class="el-button-pro--slide"
>滑动按钮</el-button-pro
>
<el-button-pro type="success" class="el-button-pro--slide"
>滑动按钮</el-button-pro
>
<el-button-pro type="warning" class="el-button-pro--slide"
>滑动按钮</el-button-pro
>
<el-button-pro type="danger" class="el-button-pro--slide"
>滑动按钮</el-button-pro
>
<el-button-pro type="info" class="el-button-pro--slide"
>滑动按钮</el-button-pro
>
</div>
</div>
<div class="style-section">
<div class="style-title">气泡按钮</div>
<div class="button-row">
<el-button-pro type="primary" class="el-button-pro--bubble"
>气泡按钮</el-button-pro
>
<el-button-pro type="success" class="el-button-pro--bubble"
>气泡按钮</el-button-pro
>
<el-button-pro type="warning" class="el-button-pro--bubble"
>气泡按钮</el-button-pro
>
<el-button-pro type="danger" class="el-button-pro--bubble"
>气泡按钮</el-button-pro
>
<el-button-pro type="info" class="el-button-pro--bubble"
>气泡按钮</el-button-pro
>
</div>
</div>
<div class="style-section">
<div class="style-title">闪烁按钮</div>
<div class="button-row">
<el-button-pro type="primary" class="el-button-pro--blink"
>闪烁按钮</el-button-pro
>
<el-button-pro type="success" class="el-button-pro--blink"
>闪烁按钮</el-button-pro
>
<el-button-pro type="warning" class="el-button-pro--blink"
>闪烁按钮</el-button-pro
>
<el-button-pro type="danger" class="el-button-pro--blink"
>闪烁按钮</el-button-pro
>
<el-button-pro type="info" class="el-button-pro--blink"
>闪烁按钮</el-button-pro
>
</div>
</div>
<div class="style-section">
<div class="style-title">翻转按钮</div>
<div class="button-row">
<el-button-pro type="primary" class="el-button-pro--flip"
>翻转按钮</el-button-pro
>
<el-button-pro type="success" class="el-button-pro--flip"
>翻转按钮</el-button-pro
>
<el-button-pro type="warning" class="el-button-pro--flip"
>翻转按钮</el-button-pro
>
<el-button-pro type="danger" class="el-button-pro--flip"
>翻转按钮</el-button-pro
>
<el-button-pro type="info" class="el-button-pro--flip"
>翻转按钮</el-button-pro
>
</div>
</div>
<div class="style-section">
<div class="style-title">阴影按钮</div>
<div class="button-row">
<el-button-pro type="primary" class="el-button-pro--shadow"
>阴影按钮</el-button-pro
>
<el-button-pro type="success" class="el-button-pro--shadow"
>阴影按钮</el-button-pro
>
<el-button-pro type="warning" class="el-button-pro--shadow"
>阴影按钮</el-button-pro
>
<el-button-pro type="danger" class="el-button-pro--shadow"
>阴影按钮</el-button-pro
>
<el-button-pro type="info" class="el-button-pro--shadow"
>阴影按钮</el-button-pro
>
</div>
</div>
<div class="style-section">
<div class="style-title">缩放按钮</div>
<div class="button-row">
<el-button-pro type="primary" class="el-button-pro--scale"
>缩放按钮</el-button-pro
>
<el-button-pro type="success" class="el-button-pro--scale"
>缩放按钮</el-button-pro
>
<el-button-pro type="warning" class="el-button-pro--scale"
>缩放按钮</el-button-pro
>
<el-button-pro type="danger" class="el-button-pro--scale"
>缩放按钮</el-button-pro
>
<el-button-pro type="info" class="el-button-pro--scale"
>缩放按钮</el-button-pro
>
</div>
</div>
<div class="style-section">
<div class="style-title">hover背景透明到颜色</div>
<div class="button-row">
<el-button-pro type="primary" class="el-button-pro--hover-bg-write"
>hover背景透明到颜色</el-button-pro
>
<el-button-pro type="success" class="el-button-pro--hover-bg-write"
>hover背景透明到颜色</el-button-pro
>
<el-button-pro type="warning" class="el-button-pro--hover-bg-write"
>hover背景透明到颜色</el-button-pro
>
<el-button-pro type="danger" class="el-button-pro--hover-bg-write"
>hover背景透明到颜色</el-button-pro
>
<el-button-pro type="info" class="el-button-pro--hover-bg-write"
>hover背景透明到颜色</el-button-pro
>
</div>
</div>
<div class="style-section">
<div class="style-title">
hover背景颜色到透明
<div class="button-row">
<el-button-pro type="primary" class="el-button-pro--hover-bg-color"
>hover背景颜色到透明</el-button-pro
>
<el-button-pro type="success" class="el-button-pro--hover-bg-color"
>hover背景颜色到透明</el-button-pro
>
<el-button-pro type="warning" class="el-button-pro--hover-bg-color"
>hover背景颜色到透明</el-button-pro
>
<el-button-pro type="danger" class="el-button-pro--hover-bg-color"
>hover背景颜色到透明</el-button-pro
>
<el-button-pro type="info" class="el-button-pro--hover-bg-color"
>hover背景颜色到透明</el-button-pro
>
</div>
</div>
</div>
</div>
</template>
<script lang="ts" setup>
import {
Check,
Delete,
Message,
Refresh,
Search,
Star,
} from '@element-plus/icons-vue'
</script>
<style scoped>
.demo-button-pro {
padding: 20px;
}
.section-title {
margin: 20px 0 10px;
font-weight: bold;
font-size: 18px;
color: #333;
text-align: center;
}
.style-section {
margin-bottom: 30px;
padding: 15px;
border: 1px solid #eee;
border-radius: 8px;
}
.style-title {
margin: 0 0 15px;
font-weight: bold;
font-size: 16px;
color: #333;
border-bottom: 1px dashed #ddd;
padding-bottom: 8px;
}
.button-row {
display: flex;
flex-wrap: wrap;
gap: 15px;
}
</style>
Hide source
Button API
Button Attributes
Name | Description | Type | Default | |||||
---|---|---|---|---|---|---|---|---|
size | button size | enum `'large' | 'default' | 'small'` | — | |||
type | button type | enum `'primary' | 'success' | 'warning' | 'danger' | 'info' | 'text' (deprecated)` | — |
plain | determine whether it's a plain button | boolean | false | |||||
text 2.2.0 | determine whether it's a text button | boolean | false | |||||
bg 2.2.0 | determine whether the text button background color is always on | boolean | false | |||||
link 2.2.1 | determine whether it's a link button | boolean | false | |||||
round | determine whether it's a round button | boolean | false | |||||
circle | determine whether it's a circle button | boolean | false | |||||
loading | determine whether it's loading | boolean | false | |||||
loading-icon | customize loading icon component | string / Component | Loading | |||||
disabled | disable the button | boolean | false | |||||
icon | icon component | string / Component | — | |||||
autofocus | same as native button'sautofocus | boolean | false | |||||
native-type | same as native button'stype | enum `'button' | 'submit' | 'reset'` | button | |||
auto-insert-space | automatically insert a space between two chinese characters | boolean | — | |||||
color | custom button color, automatically calculatehover and active color | string | — | |||||
dark | dark mode, which automatically convertscolor to dark mode colors | boolean | false | |||||
tag 2.3.4 | custom element tag | string / Component | button |
Button Slots
Name | Description |
---|---|
default | customize default content |
loading | customize loading component |
icon | customize icon component |
Button Exposes
Name | Description | Type | |||||||
---|---|---|---|---|---|---|---|---|---|
ref | button html element | object | |||||||
size | button size | object `ComputedRef<'' | 'small' | 'default' | 'large'>` | ||||
type | button type | object `ComputedRef<'' | 'default' | 'primary' | 'success' | 'warning' | 'info' | 'danger' | 'text'>` |
disabled | button disabled | object | |||||||
shouldAddSpace | whether adding space | object |
ButtonGroup API
ButtonGroup Attributes
Name | Description | Type | Default | ||||
---|---|---|---|---|---|---|---|
size | control the size of buttons in this button-group | enum `'large' | 'default' | 'small'` | — | ||
type | control the type of buttons in this button-group | enum `'primary' | 'success' | 'warning' | 'danger' | 'info'` | — |
ButtonGroup Slots
Name | Description | Subtags |
---|---|---|
default | customize button group content | Button |