vue組件樣式穿透/deep/ ::v-deep >>>區別


轉載至

https://blog.csdn.net/qq_38323658/article/details/108748463

在寫一些vue項目時候,經常會引入一些組件。無論是自定義組件還是引入的外部組件。style標簽上都有scoped屬性。防止影響到其他頁面上的樣式。但是又是需要在父組件更改自組件的樣式。就要用到組件穿透(也叫深度修改css)。
可用的方法有 /deep/ ::v-deep >>>

>>>

如果項目使用的是css 原生樣式,那么你可以直接使用 >>> 穿透修改

<style scoped>
/*編譯前*/
.a >>> .b { 
 color:blue
}
.a{
 ::v-deep .b { 
  color:blue
 }
} 
.a ::v-deep .b {
 color:blue
}

/*編譯后*/
.a[data-v-fsdfg9] .b { color:blue}
</style>

/deep/

項目中用到了預處理器 scss 、sass、less 操作符 >>> 可能會因為無法編譯而報錯 。可以使用 /deep/
但是vue-cli3可能會導致變異報錯。這個時候用::v-deep

::v-deep

::v-deep在預處理器 scss 、sass、less 比較通用


免責聲明!

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



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