欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue中深度選擇器圖文詳解

 更新時(shí)間:2023年06月09日 10:29:35   作者:喝西瓜汁的兔嘰Yan  
在Vue的開發(fā)中,我們經(jīng)常會用到外部組件庫,下面這篇文章主要給大家介紹了關(guān)于vue中深度選擇器的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

scoped的作用

scoped
可以使當(dāng)前的樣式只在自己當(dāng)前的組件內(nèi)起作用。為了防止在一個組件內(nèi)引入了子組件,而子組件沒有加scoped。這個時(shí)候如果父子組件有相同的類名,就會產(chǎn)生樣式的影響。
原理:
加了scoped就相當(dāng)于給當(dāng)前組件所有的標(biāo)簽添加一個【data-v-hash】的屬性,而vue中采用的是屬性選擇器的方式來進(jìn)行解析,具體解析如下圖:

<style scoped>
</style>

scoped對父子組件的影響

首先,我定義了一個父組件和子組件(child)

父組件:

子組件(加了scoped):

效果:

我們可以看到,子組件加了scoped后,父組件對h3的css樣式就不會影響到子組件,如果子組件沒加scoped,就會影響到也變成紅色。

那么,我們就是想在子組件有scoped的情況下,影響到子組件的樣式怎么辦?就引出了深度選擇器

深度選擇器

首先,我們來認(rèn)識下三個深度選擇器:

原生css: >>> (在沒有用less/scss的時(shí)候使用)
less: /deep/
scss: ::v-deep(如果使用了預(yù)處理器都可以使用這個(推薦))

我們上面的實(shí)例沒有用到scss和less,所以我們使用>>>

效果:

子組件也變成了紅色

附加:

/deep/
如果項(xiàng)目中用到了預(yù)處理器 sass less scss 會因?yàn)闊o法編輯而報(bào)錯 可以使用/deep/
注意:vue-cli3以上版本不可以

<style lang="scss" scoped>
/*用法1*/
.a {
 /deep/ .b { 
  /* ... */
 }
} 
/*用法2*/
.a /deep/ .b { 
  /* ... */
 }
</style>

::v-deep 如果使用了預(yù)處理器都可以使用

<style lang="scss" scoped>
/*用法1*/
.a{
 ::v-deep .b { 
  /* ... */
 }
} 
/*用法2*/
.a ::v-deep .b {
  /* ... */
}
</style>

注意:

我們深度處理器經(jīng)常用在這樣的情況:
例如你使用了ElementUI的走馬燈(輪播圖)組件,你想修改其中的樣式,但是你設(shè)置樣式不起作用,這個時(shí)候就是因?yàn)榻M件的scoped的影響。
解決辦法:
1.不妨試試我們的深度處理器吧。(推薦)
2.將 scoped 移除。
3.新建一個沒有 scoped 的 style(一個.vue文件允許多個style),如下:

<style scoped>
	//有scoped的style,此處放當(dāng)前組件的css代碼
</style>

<style>
//沒有scoped的style,此處放修改ElementUI輪播圖的css
</style>

總結(jié)

到此這篇關(guān)于vue中深度選擇器的文章就介紹到這了,更多相關(guān)vue深度選擇器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue3登錄界面適配的二種方法實(shí)例代碼

    vue3登錄界面適配的二種方法實(shí)例代碼

    這篇文章主要介紹了vue3登錄界面適配的二種方法,在Vue.js中使用計(jì)算屬性和條件渲染來處理,每種方法都有其適用場景,選擇哪種方法取決于具體需求,需要的朋友可以參考下
    2024-12-12
  • vue3.0 搭建項(xiàng)目總結(jié)(詳細(xì)步驟)

    vue3.0 搭建項(xiàng)目總結(jié)(詳細(xì)步驟)

    這篇文章主要介紹了vue3.0 搭建項(xiàng)目總結(jié)(詳細(xì)步驟),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • VUE搭建手機(jī)商城心得和遇到的坑

    VUE搭建手機(jī)商城心得和遇到的坑

    這篇文章主要介紹了VUE搭建手機(jī)商城心得和遇到的坑,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • Vue科學(xué)計(jì)數(shù)法常見處理方法舉例

    Vue科學(xué)計(jì)數(shù)法常見處理方法舉例

    這篇文章主要給大家介紹了關(guān)于Vue科學(xué)計(jì)數(shù)法常見處理方法的相關(guān)資料,科學(xué)計(jì)數(shù)法是科學(xué)家用來表示很大或很小的數(shù)字的一種方便的方法,文中給出了詳細(xì)的代碼示例,需要的朋友可以參考下
    2024-02-02
  • vue實(shí)現(xiàn)在線學(xué)生錄入系統(tǒng)

    vue實(shí)現(xiàn)在線學(xué)生錄入系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)在線學(xué)生錄入系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • vue同個按鈕控制展開和折疊同個事件操作

    vue同個按鈕控制展開和折疊同個事件操作

    這篇文章主要介紹了vue同個按鈕控制展開和折疊同個事件操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Vue3中實(shí)現(xiàn)代碼高亮的兩種方法(prismjs和highlight.js)

    Vue3中實(shí)現(xiàn)代碼高亮的兩種方法(prismjs和highlight.js)

    最近忙著開發(fā)自己的博客系統(tǒng),在做界面展示的時(shí)候,需要讓代碼高亮,于是經(jīng)過在網(wǎng)上查閱,發(fā)現(xiàn)有兩款比較好用的插件實(shí)現(xiàn)代碼高亮,分別是prismjs和highlight.js,下面我分別介紹下,方便給需要的同學(xué)參考
    2025-04-04
  • 前端虛擬列表實(shí)現(xiàn)的思路及完整代碼

    前端虛擬列表實(shí)現(xiàn)的思路及完整代碼

    這篇文章主要介紹了前端虛擬列表實(shí)現(xiàn)的思路及完整代碼,虛擬列表是一種優(yōu)化長列表性能的技術(shù),通過只渲染可視區(qū)域的列表項(xiàng)來提升頁面性能和用戶體驗(yàn),文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-01-01
  • Vue3?跨域配置devServer的參數(shù)和設(shè)置方法

    Vue3?跨域配置devServer的參數(shù)和設(shè)置方法

    這篇文章主要介紹了Vue3?跨域配置devServer的參數(shù)和設(shè)置,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • vue父子組件slot插槽的使用

    vue父子組件slot插槽的使用

    這篇文章主要介紹了vue父子組件slot插槽的使用,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08

最新評論