用ui组件总免不了需要对它做一些个性化定制的需求,所以我们就要覆盖element的一些样式。
首先我们要了解一下vue scoped是什么,很多人非常喜欢用scoped,其实scoped也没有很神秘的,它就是基于PostCss的,加了一个作用局的概念。
-
//编译前
-
.example { color: red; } //编译后 .example[_v-f3f3eg9] { color: red; }
它和我们传统的命名空间的方法避免css冲突没有什么本质性的区别。
现在我们来说说怎么覆盖element-ui样式。由于element-ui的样式我们是在全局引入的,所以你想在某个view里面覆盖它的样式就不能加scoped,但你又想只覆盖这个页面的element样式,你就可在它的父级加一个class,以用命名空间来解决问题。
-
.aritle-page{ //你的命名空间 .el-tag { //element-ui 元素 margin-right: 0px; } }