关于style中使用scoped不生效

在vue中通常会给style标签加上scoped属性,以此来实现样式的私有化,避免全局污染。防止多个人开发的页面相互集成可能会造成互相干扰,听起来很好、很好、很好。

但有的时候这个属性又会带来麻烦:当引入第三方组件且需要修改其样式时,通常出现没有修改成功的情况。
(本人理解)scoped引起的私有化仅仅作用于你的这个文件,当你引入第三方(element)等组件的时候,因为被引入你可以操作它的位置、边距等,但你是不可以更改这个组件的本身属性,比如大小颜色等等。虽然你觉得你已经找到了对应的class只要对其设置就好了,但是。。。想的美。你的操作只能作用于你的文件,第三方的组件是被你引入的,所以你的操作将不会更改组件的内部属性。

解决办法
加入/deep/进行穿透,具体原理有待研究。

/deep/  .el-input__inner {
    margin: auto; 
}

补充
也可以使用>>> 进行穿透

.material >>> .el-table__expand-icon {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
}

你可能感兴趣的:(大前端小记,css,vue.js)