vue樣式穿透

2021-09-03 00:08:26 字數 771 閱讀 1936

在一次這樣的需求中,需要實現滑倒底部時自動請求資料,需要動態建立節點然後追加到某元素中,這期間遇到的問題就是在動態建立節點後,類名也已經加上了 ,但是樣式就是沒有生效,最後發現原因的產生竟然是中scoped屬性

該屬性的作用是用來繫結當前樣式不被汙染,同時也就意味著在建立新的node後,該node樣式是進入不到style總查詢樣式的,bug如下:

新建立的li在插入到節點中時,樣式並沒有生效。

所以我們解決辦法

1.將scoped屬性去掉。

優點:方便快捷

缺點:失去了樣式的保護,我們就需要用原始的方法保護該元件的樣式作用於,可通過後台選擇器等等方式實現樣式的保護,使其不受汙染

2.在動態建立node時,就將樣式型別些微行內樣式,解除安裝style中。這樣在dom渲染的時候會伴隨著行內樣式一起生效

優點:在不影響樣式作用於的情況下就可以實現

缺點:違背了結構表現相分離,對於**的解析速度有很大影響。

bug修復如下:

大家可以了解下vue中的樣式穿透,也是解決樣式問題的常用方式之一。sass/less使用樣式穿透的方式可能回有所不同,

stylus的樣式穿透 使用》

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

vue修改UI框架樣式 樣式穿透

因為scoped 屬性的限制,可能會存在修改外部引入的元件的樣式無法修改的情況!如果style標籤去掉 scoped 這種方法可以實現父元件改變子元件樣式,但是會汙染全域性樣式。在引用了第三方元件時,需要在元件中區域性修改第三方元件的樣式,而又不想去除scoped屬性造成元件之間的樣式汙染。那麼有哪...

vue單檔案中scoped樣式如何穿透?

在vue檔案中的style標籤上,有乙個特殊的屬性 scoped。當乙個style標籤擁有scoped屬性時,它的css樣式就只能作用於當前的元件,也就是說,該樣式只能適用於當前元件元素。通過該屬性,可以使得元件之間的樣式不互相汙染。如果乙個專案中的所有style標籤全部加上了scoped,相當於實...

scope樣式穿透

首發於我的部落格 有這樣一種情境 1 因為某些特殊的原因我不希望註冊乙個全域性元件,而且不想新增乙個檔案作為元件,只能在當前頁面中註冊區域性元件 2 在區域性元件中,該元件又是乙個富樣式的元件 3 所以我希望在當前頁面中,穿透部分scope,使當前頁面的一些樣式可以應用於區域性元件中 1.單純css...