vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vue中style设置scoped后部分样式不生效

vue中style设置scoped后部分样式不生效的解决

作者:LXXgalaxy

这篇文章主要介绍了vue中style设置scoped后部分样式不生效的解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vue中style设置scoped后部分样式不生效

因为用了elementUI的组件库,一个页面用到了el-dialog,需要改一下样式,但<style>中设置了scoped后样式并不生效。

因为vue的scoped为本组件的所有标签都打上了一个唯一attribute,样式生效时也带上了这唯一的attribute,但是本组件应用的所有子组件,除根标签以为其他都未打上这唯一标签,因此样式自然不会生效。

vue 自动添加一个唯一的 attribute

添加了唯一的attribute,这也就是vue scoped 实现样式隔离的原理。

如果不怕影响别的页面的话把scoped删掉之后样式即可生效。

不删除scoped的解决办法

查了一下官方解决办法

vue官方给出的解决办法是: 深度作用选择器

 
<style scoped>
::v-deep .el-dialog {
  background-color: #0c1d3f;
}
</style>

还可以用/deep/、 >>>、::v-deep。

/deep/在vue 3.0会报错,可使用::v-deep

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文