vue组件样式添加scoped属性之后,无法被父组件修改。或者无法在本组件修改element UI样式

Posted wangmaoling

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue组件样式添加scoped属性之后,无法被父组件修改。或者无法在本组件修改element UI样式相关的知识,希望对你有一定的参考价值。

在vue开发中,需要使用scoped属性避免样式的全局干扰,但是这样在父组件中是无法被修改的,不仅如此如果项目中用了UI框架比如element Ui,这个时候在本组件也无法修改样式,因为权重问题。但是想要修改还是有方法的:

1. 在不去掉scoped的情况下,在全局样式中覆盖,这种解法,有弊端,可能会污染全局样式。

2. 如果项目用到了预处理器,可以通过vue-loader提供的新写法  vue-loader 写法如下:

<style scoped>
.a >>> .b { /* ... */ }
</style>

某些预处理器(如Sass)可能无法>>>正确解析。在这些情况下,您可以使用/deep/组合器 - 它是别名,>>>并且完全相同。

<style scoped lang="scss">
  .form {
    background-color: #fff;
    /deep/ .list{
      font-size: 18px;
    }
  }
</style>
sass注意要用 /deep/ ,而无法使用 >>> 这个符号

 









以上是关于vue组件样式添加scoped属性之后,无法被父组件修改。或者无法在本组件修改element UI样式的主要内容,如果未能解决你的问题,请参考以下文章

vue组件中的style scoped中遇到的问题

Vue中的scoped属性

vue里面父组件修改子组件样式的方法

vue样式穿透

Vue样式穿透

vue 返回上一页,页面样式错乱