vue项目中,修改elementui一些复杂控件样式

1.前言

在vue项目中,我们为了快速开发,会用到elementui。但很多时候,elementui的样式不满足于我们项目的样式需求。这时候我们需要修改原生elementui的样式。

2.简单控件的样式修改

对于elementui中一些简单的控件,如按钮之类的,没有复杂的交互空间,可以直接打开 f12调试页面,找到该dom元素的class名称,在vue页面下重写覆盖该样式即可。

如果没有生效,也可以通过在改class前,加上父级的class,提高该样式的优先级。

如图,直接在页面上修改css覆盖

复制代码
.el-button--default{
   background: "#ffcc00";
}

或者:

复制代码
.parentClass .el-button--default{
   background: "#ffcc00";
}

注意parentClass 是包住按钮的父标签的class,如果引入了sass则写法为

复制代码
.parentClass {
	.el-button--default{
  		 background: "#ffcc00";
	}
}

3.复杂控件样式的修改

当我们遇到复杂的控件时,以上方法我们会发现我们设置的样式并不能生效,比如颜色选择器控件:

我们之间用上面的方式覆盖样式el-color-picker__trigger并不能生效。

这时候我们需要使用v-deep深度选择器,如下写法才可以覆盖成功(我这里工程是引入了sass的,深度选择器写法如下):

复制代码
::v-deep .el-color-picker__trigger {
  display: inline-block;
  box-sizing: border-box;
  height: 144px;
  width: 193px;
  /* padding: 4px; */
  /* border: 1px solid #e6e6e6; */
  border-radius: 6px;
  font-size: 0;
  position: relative;
  cursor: pointer;
}
相关推荐
Cry丶5 分钟前
Vue 3 业务管理页面实战:组件拆分、父子通信与弹窗复用
前端·javascript·vue.js·父子通信·组件拆分·弹窗复用
雪芽蓝域zzs15 分钟前
Vue前端配置路由通配捕获 404
前端·javascript·vue.js
计算机魔术师16 分钟前
Anthropic 发布电商 Agent 架构与生产实践指南,并开源 commerce-agents 参考实现
前端
IMPYLH25 分钟前
HTML 的 <ol> 元素
前端·html
IMPYLH26 分钟前
HTML 的 <object> 元素
前端·html
DevOpenClub28 分钟前
PDF 多格式解析如何避免混用输出:TEXT、HTML、XML 与 TAG 数据契约
xml·前端·数据库·pdf·html
用户2526327534736 分钟前
请问同一台服务器能同时部署前后端项目并支持https吗?
前端
Sincerelyplz1 小时前
【Pipecat】基于Pipecat的voice agent实践
前端·后端·agent
lerhxx1 小时前
为什么你的Three.js物体总是乱转?一文彻底搞懂“万向锁”与四元数
前端·three.js
计算机魔术师1 小时前
写了代码还要人修?Google 的 AI 编程助手自己打补丁了
前端