el-button加上标
时间: 2024-06-07 12:04:59 浏览: 175
在Element UI中,`el-button` 是一个用于创建按钮的基本组件。如果要在 `el-button` 上添加图标和标题(也就是所谓的“带有标签”的按钮),你可以使用 `icon` 和 `type` 属性。`icon` 属性用于指定按钮上的图标,而 `type` 属性则决定了按钮的样式,比如默认样式(`default`)、主要样式(`primary`)、警告样式(`warning`)等。
一个基本的例子如下:
```html
<el-button icon="el-icon-menu" type="primary">按钮标签</el-button>
```
在这个例子中:
- `el-icon-menu` 是一个预定义的Element UI图标。
- `"按钮标签"` 就是你要显示的文字内容。
如果你想自定义图标或者使用字体图标库(如Font Awesome),你可以直接使用相应的图标名称或HTML代码,例如:
```html
<el-button icon="fa fa-heart" type="info">喜欢</el-button>
```
这里用到了Font Awesome的 `fa fa-heart` 图标。
相关问题
el-button加上涟漪效果
可以使用 `waves` 指令来给 `el-button` 添加涟漪效果,具体步骤如下:
1. 引入 CSS 文件
在 HTML 文件中引入 `waves.css` 文件,可以在以下地址下载该文件:
https://cdn.jsdelivr.net/npm/node-waves/dist/waves.min.css
2. 安装和引入 waves.js 文件
使用 npm 安装 `waves.js`:
```
npm install node-waves --save
```
在需要使用涟漪效果的页面中引入 `waves.js` 文件并初始化:
```javascript
import Waves from 'node-waves';
Waves.init();
```
3. 在 el-button 中添加指令
在 `el-button` 标签中添加 `v-waves` 指令即可:
```html
<el-button v-waves>Click me</el-button>
```
这样就可以给 `el-button` 添加涟漪效果了。
el-button加上涟漪动画效果
要给`el-button`加上涟漪动画效果,需要使用`waves`指令来实现。具体步骤如下:
1. 首先,需要在`<template>`标签中引入`waves.css`文件,该文件用于控制涟漪动画效果的样式,代码如下:
```html
<template>
<div>
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/waves.css">
<el-button v-waves>点击我</el-button>
</div>
</template>
```
2. 然后,在`<script>`标签中注册`waves`指令,代码如下:
```javascript
export default {
directives: {
waves: {
bind(el, binding) {
el.addEventListener('mousedown', e => {
const customOpts = Object.assign({}, binding.value)
const opts = Object.assign({
ele: el, // 波纹作用元素
type: 'hit', // hit 点击位置扩散 center中心点扩展
color: 'rgba(0, 0, 0, 0.15)' // 波纹颜色
}, customOpts)
const target = opts.ele
if (target) {
target.style.position = 'relative'
target.style.overflow = 'hidden'
const rect = target.getBoundingClientRect()
let ripple = target.querySelector('.waves-ripple')
if (!ripple) {
ripple = document.createElement('span')
ripple.className = 'waves-ripple'
ripple.style.height = ripple.style.width = Math.max(rect.width, rect.height) + 'px'
target.appendChild(ripple)
} else {
ripple.className = 'waves-ripple'
}
switch (opts.type) {
case 'center':
ripple.style.top = (rect.height / 2 - ripple.offsetHeight / 2) + 'px'
ripple.style.left = (rect.width / 2 - ripple.offsetWidth / 2) + 'px'
break
default:
ripple.style.top = (e.pageY - rect.top - ripple.offsetHeight / 2 - document.documentElement.scrollTop) + 'px'
ripple.style.left = (e.pageX - rect.left - ripple.offsetWidth / 2 - document.documentElement.scrollLeft) + 'px'
}
ripple.style.backgroundColor = opts.color
ripple.className = 'waves-ripple z-active'
return false
}
}, false)
}
}
}
}
```
3. 最后,在`<el-button>`标签中添加`v-waves`指令即可,代码如下:
```html
<template>
<div>
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/waves.css">
<el-button v-waves>点击我</el-button>
</div>
</template>
<script>
export default {
directives: {
waves: {
bind(el, binding) {
el.addEventListener('mousedown', e => {
const customOpts = Object.assign({}, binding.value)
const opts = Object.assign({
ele: el, // 波纹作用元素
type: 'hit', // hit 点击位置扩散 center中心点扩展
color: 'rgba(0, 0, 0, 0.15)' // 波纹颜色
}, customOpts)
const target = opts.ele
if (target) {
target.style.position = 'relative'
target.style.overflow = 'hidden'
const rect = target.getBoundingClientRect()
let ripple = target.querySelector('.waves-ripple')
if (!ripple) {
ripple = document.createElement('span')
ripple.className = 'waves-ripple'
ripple.style.height = ripple.style.width = Math.max(rect.width, rect.height) + 'px'
target.appendChild(ripple)
} else {
ripple.className = 'waves-ripple'
}
switch (opts.type) {
case 'center':
ripple.style.top = (rect.height / 2 - ripple.offsetHeight / 2) + 'px'
ripple.style.left = (rect.width / 2 - ripple.offsetWidth / 2) + 'px'
break
default:
ripple.style.top = (e.pageY - rect.top - ripple.offsetHeight / 2 - document.documentElement.scrollTop) + 'px'
ripple.style.left = (e.pageX - rect.left - ripple.offsetWidth / 2 - document.documentElement.scrollLeft) + 'px'
}
ripple.style.backgroundColor = opts.color
ripple.className = 'waves-ripple z-active'
return false
}
}, false)
}
}
}
}
</script>
```
这样就可以给`el-button`添加涟漪动画效果了。
阅读全文