1. 程式人生 > >vue元件樣式新增scoped屬性之後,無法被父元件修改。或者無法在本元件修改element UI樣式

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/ ,而無法使用 >>> 這個符號