您好,登錄后才能下訂單哦!
這篇“vue無法覆蓋vant的UI組件的樣式怎么解決”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“vue無法覆蓋vant的UI組件的樣式怎么解決”文章吧。
有時候UI組件提供的默認的樣式不能滿足項目的需要,就需要我們對它的樣式進行修改,但是發現加了scoped后修改的樣式不起作用。
使用深度選擇器,將scoped樣式中的選擇器“深入”,即影響子組件
<style scoped> .a >>> .b { /* ... */ } </style>
以上的代碼會編譯成:
.a[data-v-f3f3eg9] .b { /* ... */ }
注意:如果你使用了Less或Sass等預處理器,可能無法>>>正確解析。
在這些情況下,您可以使用組合/deep/或::v-deep組合 - 兩者都是別名,>>>并且工作完全相同。
使用Less或Sass等預處理器的寫法如下:
.van-radio { /deep/ .van-radio__label { width: 500px; } }
使用Vant組件的時候,我們會發現在某些場合組件的原樣式不符合我們的需求,這個時候我們就需要重寫組件的原樣式。
因為style標簽添加了scope屬性,scope會保護樣式不被污染,這里要讓我們自己的樣式生效就必須使用樣式穿透,由父樣式穿透到子樣式:
.w-all >>> .van-field__control{text-align: right;}
text-align
:left那一欄已經被一條橫線劃掉,取而代之的是:
而這個,就是因為使用了樣式穿透強制覆蓋了原樣式,從而實現我們需要的樣式效果。
以上就是關于“vue無法覆蓋vant的UI組件的樣式怎么解決”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。