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

通過 v-html 創建的 DOM 內容不受作用域內的樣式影響,但是你仍然可以通過深度作用選擇器來為他們設置樣式 。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM