Vue3中樣式滲透:deep()無(wú)效的原因分析
今天學(xué)習(xí) /deep/ 樣式穿透,因?yàn)関ue3中已經(jīng)使用:deep()取代了/deep/ ,所以直接用:deep()練習(xí)。
:deep()的使用場(chǎng)景:
如果給當(dāng)前組件的style 節(jié)點(diǎn)添加了scoped 屬性,則當(dāng)前組件的樣式對(duì)其子組件是不生效的。如果想讓某些樣式對(duì)子組件生效,則需要使用:deep()。
我原本覺(jué)得這個(gè)沒(méi)有難度,于是寫(xiě)了個(gè)案例來(lái)驗(yàn)證。然后問(wèn)題出現(xiàn)了,:deep()定義的樣式在子組件中不起作用。
我開(kāi)始找錯(cuò),把包括冒號(hào)、括號(hào)在內(nèi)的語(yǔ)法格式等都檢查了一遍,發(fā)現(xiàn)語(yǔ)法格式?jīng)]有問(wèn)題,控制臺(tái)也不報(bào)錯(cuò),但是:deep()格式的樣式在子組件中就是無(wú)效。
幸好我這兒有一個(gè):deep()格式起作用的范例,沒(méi)辦法,只好把兩個(gè)文件中的父組件、子組件逐一比對(duì),前后費(fèi)了不少時(shí)間,終于找到了問(wèn)題所在。
我在前面練習(xí)的時(shí)候,Vue2.X中要求元素必須在一個(gè)根節(jié)點(diǎn)中,Vue3.X無(wú)此要求,可以不在一個(gè)根節(jié)點(diǎn)中,所以為了驗(yàn)證這一點(diǎn),我把外層的
刪去了,果然不報(bào)錯(cuò)。
可是問(wèn)題就出在這個(gè)根節(jié)點(diǎn)上,如果App.vue中沒(méi)有這個(gè)根節(jié)點(diǎn),那么:deep()不起作用,我把根節(jié)點(diǎn)加上,:deep()樣式就生效了。
唉,感覺(jué)自己被這個(gè)根節(jié)點(diǎn)坑了一把。
1.父組件App.vue中代碼
<style lang="less" scoped> :deep(.title3){ background-color:antiquewhite; } </style>
2.子組件中的代碼
<template> <h3 class="title3">受父組件影響的內(nèi)容</h3> </template>
還有一點(diǎn)讓我覺(jué)得新鮮,CSS中顏色的色塊有兩個(gè)。
到此這篇關(guān)于Vue3中樣式滲透:deep()無(wú)效的原因分析的文章就介紹到這了,更多相關(guān)Vue樣式滲透deep內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue從一個(gè)頁(yè)面跳轉(zhuǎn)到另一個(gè)頁(yè)面并攜帶參數(shù)的解決方法
這篇文章主要介紹了vue從一個(gè)頁(yè)面跳轉(zhuǎn)到另一個(gè)頁(yè)面并攜帶參數(shù)的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08如何使用Vue3+elementPlus的Tree組件實(shí)現(xiàn)一個(gè)拖拽文件夾管理
最近在做一個(gè)文件夾管理的功能,要實(shí)現(xiàn)一個(gè)樹(shù)狀的拖拽文件夾面板,里面包含兩種元素,文件夾以及文件,這篇文章主要介紹了使用Vue3+elementPlus的Tree組件實(shí)現(xiàn)一個(gè)拖拽文件夾管理?,需要的朋友可以參考下2023-09-09Vue?中如何使用?el-date-picker?限制只能選擇當(dāng)天、當(dāng)天之前或當(dāng)天之后日期的方法詳解
在Vue前端開(kāi)發(fā)中,使用 el-date-picker 組件進(jìn)行日期選擇是常見(jiàn)的需求,有時(shí)候我們需要限制用戶(hù)只能選擇當(dāng)天、當(dāng)天之前或當(dāng)天之后的日期,本文將詳細(xì)介紹如何使用 el-date-picker 組件實(shí)現(xiàn)這些限制,讓你能夠輕松應(yīng)對(duì)各種日期選擇場(chǎng)景,需要的朋友可以參考下2023-09-09在vue中實(shí)現(xiàn)給每個(gè)頁(yè)面頂部設(shè)置title
這篇文章主要介紹了在vue中實(shí)現(xiàn)給每個(gè)頁(yè)面頂部設(shè)置title,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07vue2.x中的provide和inject用法小結(jié)
這篇文章主要介紹了vue2.x中的provide和inject用法小結(jié),本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2023-12-12Vuex持久化存儲(chǔ)之vuex-persist問(wèn)題
這篇文章主要介紹了Vuex持久化存儲(chǔ)之vuex-persist問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10