Vue的樣式衝突

2021-09-25 07:53:56 字數 716 閱讀 3939

scoped:

vue-loader,使 vue 可以使用類似於 web component 的元件化寫法,,並且為元件中的 style 標籤增加乙個 scoped 標識。vue-loader 在編譯的過程中會為元件每乙個元素節點增加 scopeid 作為屬性,同時為所有的樣式類加上屬性選擇器 scopeid,從而達到隔離的效果。

如圖所示,這就是vue-loader為元素加上的唯一scopeid,然後通過屬性選擇器選中

有這樣一種情況,當我們引入bulma,ivew等第三方庫時,這些庫一般都會初始化一些樣式。比如bulma中將所有的h標籤都進行了處理。我們想改變這些預設的樣式時,使用普通的方法是不會生效的,即使通過 !important提高優先順序也不會生效。對於這種情況,我提供兩種方法給大家:

1.將scoped屬性去掉或再建立乙個不含scoped的style標記

但是這樣做失去了樣式的保護,會汙染全域性。

2.vue提供的樣式穿透

stylus的樣式穿透 使用》

外層 >>> 第三方元件

background: #fff

}sass和less的樣式穿透 使用/deep/

外層 /deep/ 第三方元件

background: #fff;

}

Vue 元件間的樣式衝突汙染

一 汙染是如何產生的?得益於 vue loader,在 vue 中可以使用類似於 web component 的元件化寫法,在大多數情況下,我們希望元件間定義的樣式是相互隔離的,在 weex 當中的確如此,元件天生隔離,可是在 vue 當中,執行的載體還是瀏覽器,所有的樣式類還是會通過 style ...

css樣式衝突

css控制頁面樣式四種方法 1 行內方式 行內方式是4種樣式中最直接最簡單的一種,直接對html標籤適用style 例如 雖然這種方法比較直接,在製作頁面的時候需要為很多的標籤設定style屬性,所以會導致html頁面不夠純淨,檔案體積過大,不利於搜尋蜘蛛爬行,從而導致後期維護成本高。2 內嵌方式 ...

Vue中的樣式

第一種 class的繫結 red thin italic active style class thin italic red class樣式第一種繫結 p class thin italic flag?red class樣式第二種繫結 三目運算子 p class thin italic class...