一、关于使用element框架一些测试建议覆盖的样式
1.取消按钮的focus效果
(1) css样式覆盖
.el-button:not(.is-link):not(.is-text):not(.is-disabled):not(.is-has-bg):focus{
color: var(--el-button-text-color) !important;
background-color: var(--el-button-bg-color) !important;
border-color: var(--el-button-border-color) !important;
}
.el-button:not(.is-link):not(.is-text):not(.is-disabled):not(.is-has-bg):hover{
color: var(--el-button-hover-text-color) !important;
background-color: var(--el-button-hover-bg-color) !important;
border-color: var(--el-button-hover-border-color) !important;
}
.el-button:not(.is-link):not(.is-text):not(.is-disabled):not(.is-has-bg):active{
color: var(--el-button-active-text-color) !important;
background-color: var(--el-button-active-bg-color) !important;
border-color: var(--el-button-active-border-color) !important;
}
.el-button--text:not(.is-disabled):focus{
color: var(--el-color-primary) !important;
}
.el-button--text:not(.is-disabled):hover{
color: var(--el-color-primary-light-5);
}
.el-button--text:not(.is-disabled):active{
color: var(--el-color-primary-dark-2) !important;
}
.el-button.is-link:not(.is-disabled):focus{
color: var(--el-button-text-color) !important;
}
.el-button.is-link:not(.is-disabled):hover{
color: var(--el-button-hover-link-text-color) !important;
}
.el-button.is-link:not(.is-disabled):active{
color: var(--el-button-active-color) !important;
}
.el-button.is-text:not(.is-disabled):not(.is-has-bg):focus{
color: var(--el-button-text-color) !important;
background-color: transparent !important;
}
.el-button.is-text:not(.is-disabled):not(.is-has-bg):hover{
background-color: var(--el-fill-color-light) !important;
}
.el-button.is-text:not(.is-disabled):not(.is-has-bg):active{
background-color: var(--el-fill-color) !important;
}
.el-button.is-has-bg:not(.is-disabled):focus{
color: var(--el-button-text-color) !important;
background-color: var(--el-fill-color-light) !important;
}
.el-button.is-has-bg:not(.is-disabled):hover{
background-color: var(--el-fill-color) !important;
}
.el-button.is-has-bg:not(.is-disabled):active{
background-color: var(--el-fill-color-dark) !important;
}
(2) js失焦事件
const onClick = (e) => {
let target = e.target
if (e.target.nodeName == 'SPAN') {
target = e.target.parentNode
}
target.blur()
}
.el-input.is-disabled .el-input__inner {
text-overflow: ellipsis;
}
二、一些个性化样式
1.collapse组件箭头添加文字,修改箭头角度
:deep(.el-collapse-item) {
border: 1px solid;
border-radius: 4px;
border: 1px solid #d9d9d9;
}
// 阻止点击header触发开关事件
:deep(.el-collapse-item__header) {
pointer-events: none;
}
:deep(.el-collapse-item__arrow) {
font-style: normal;
font-weight: initial;
font-size: 14px;
transform: rotate(0deg); // 添加了文字,不需要旋转
color: #409eff;
pointer-events: initial; // 箭头位置允许触发开关事件
// 关闭窗口,箭头图标旋转样式
svg {
transform: rotate(90deg);
transition: 300ms;
}
}
:deep(.el-collapse-item__arrow.is-active) {
// 打开窗口,箭头图标旋转样式
svg {
transform: rotate(-90deg);
transition: 300ms;
}
}
// 关闭窗口文字
:deep(.el-collapse-item__arrow:before) {
content: '展开';
padding-right: 4px;
}
// 打开窗口文字
:deep(.el-collapse-item__arrow.is-active:before) {
content: '收起';
padding-right: 4px;
}
// 增加宽度显示完整文字和图标
:deep(.el-collapse-item__arrow) {
min-width: 55px;
}

2.自定义封装 MessageBox 样式
import { ElMessageBox } from 'element-plus'
import { QuestionFilled } from '@element-plus/icons-vue'
import { h } from 'vue'
const confirm = (title, message) => {
return new Promise((resolve, reject) => {
ElMessageBox.confirm('', {
confirmButtonText: '确定',
cancelButtonText: '取消',
autofocus: false,
'show-close': false,
message: () =>
h(
'div',
{
style: `display: flex;align-items: ${
message ? 'flex-start' : 'center'
};`
},
[
h(
'div',
{ style: `height:24px;${message ? 'margin-top:-3px;' : ''}` },
[
h(QuestionFilled, {
color: '#ffbf00',
style: 'width:24px;height:24px;padding-right:10px;'
})
]
),
h('div', null, [
h('div', { class: 'el-message-box__title' }, [
h('span', { style: 'word-break: break-all;' }, `${title}`)
]),
h(
'p',
{ style: `padding-top:8px;display:${message ? '' : 'none'}` },
`${message}`
)
])
]
)
})
.then(() => {
resolve()
})
.catch((e) => {
console.log(e)
})
})
}
export { confirm }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现