elementui里的el-tabs的内置样式修改失效?
1.问题图
红框里的是组件的内置样式,红框下的是自定义样式
2.分析
2.1scoped
vue模板编译器在编译有scoped的stye标签时,会生成对应的postCSS插件,该插件会给每个scoped标记的style标签模块,生成唯一一个对应的 data-v-xxxhash 字符串,同时: 该字符串会作为属性,添加到该组件内,每一个元素上。 如果存在子组件,则只会在子组件顶级根元素添加该属性(透传),无法给子组件内部元素添加。
2.2对比
内置样式:
[data-v-510aefd0] .el-tabs__nav-scroll {
- min-width: 362px;
}
自定义样式:
[data-v-5eb53e6c] .el-tabs__nav-scroll {
- min-width: 500px;
}
自定义的样式的随机属性和内置样式的随机属性不一样,因为在scope里生成的随机属性都是唯一的,一开始以为是这个影响的,但是经过测试发现是权重不够
3.解决
通过important升级权重