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