最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決vue scoped html樣式無效的問題

 更新時間:2020年10月24日 15:20:50   作者:西洲 -  
這篇文章主要介紹了解決vue scoped html樣式無效的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

1、問題場景

page1,page2都使用flexible移動端自適應(yīng)的時候,有一個頁面page2需要手動設(shè)置rem基準值,

//手動設(shè)置基準
html{ 
 font-size: 120px !important;
}

但是在page2引用的self.less里面設(shè)置了基準,竟然沒有生效

2、問題分析scoped屬性

在引用self.less的時候,使用了屬性scoped

vue中引入了scoped這個概念,設(shè)計思想就是讓當前組件的樣式不會修改到其他頁面的樣式,使用了data-v-hash的方式來使css有了他對應(yīng)的模塊的標識,通俗來說就是使用了scoped屬性,template里面的html都會多一個data-v-hash的屬性,css 選擇器會根據(jù)data-v-hash來進行選擇,當前的css文件只會對當前的頁面生效。參考下圖

那么問題來了,scoped只對當前組件里面的內(nèi)容生效,會對組件里面的dom加data-v-hash屬性,而不會對html,body等組件之外的dom添加,但是css里面的屬性選擇器都是data-v-hash屬性的,參考下圖,橢圓形里面是組件之外的,沒有data-v-hash屬性,所以加了scoped屬性的css會對組件外無效。長方形里面的dom是組件里面的,data-v-hash跟css里面的data-v-hash是一致的會生效。

雖然css里面的body選擇器也添加了data-v-hash,但是頁面dom沒有data-v-hash屬性,所以css里面設(shè)置的body樣式無效。

3、解決辦法

針對必須設(shè)置屬性scoped的組件,可以在page2.vue里面再單獨寫一個style,在頁面里面單獨寫組件之外(html,body等)的樣式,因為scoped不會對組件之外的dom增加data-v-hash屬性

但是新問題來了,page2設(shè)置以后,影響了page1頁面的布局,page1頁面html的的font-size樣式依然是120px,

當然會影響啊,page2也引用了page1的樣式啊,但是page2設(shè)置了scoped,所以只有page2的html樣式會影響page1,

解決辦法就是再vue什么周期create里面,用js給html設(shè)置font-size

4、總結(jié)

遇到了這問題,終于搞明白了scoped染渲染規(guī)則,在添加了scoped屬性的組件

給組件(template)里面的dom節(jié)點,加了一共不重復屬性的data-v-hash,來標志唯一性

給組件里面引用的的樣式文件,在每個選擇器后面添加了一個等同于dom節(jié)點一樣的data-v-hash字段,實現(xiàn)類似于作用域的問題,不影響全局

如果組件里面還有組件,只會給最外層的組件里面dom,添加data-v-hash,不會影響組件內(nèi)部引用的組件

補充知識:vue中scoped慎用

scoped表示當前style屬性只屬于當前模塊

實現(xiàn)原理:

vue通過在DOM結(jié)構(gòu)以及css樣式上加上唯一的標記 data-v-469af010,保證唯一,

問題:

1.父組件無scoped屬性,子組件帶有scoped,父組件是無法操作子組件的樣式的(原因在原理中可知),雖然我們可以在全局中通過該類標簽的標簽選擇器設(shè)置樣式,但會影響到其他組件

2.父組件有scoped屬性,子組件無,父組件也無法設(shè)置子組件樣式,因為父組件的所有標簽都會帶有data-v-469af010唯一標志,但子組件不會帶有這個唯一標志屬性,與1同理,雖然我們可以在全局中通過該類標簽的標簽選擇器設(shè)置樣式,但會影響到其他組件

3.父子組建都有,同理也無法設(shè)置樣式,更改起來增加代碼量

因此如果組件內(nèi)部還有組件,只會給最外層的組件里的標簽加上唯一屬性字段,不影響組件內(nèi)部引用的組件( 注意 )

方案:

1.混合使用全局屬性和局部屬性

<style>
/* global styles */
</style>
<style scoped>
/* local styles */
</style>

2.深選擇器

<template>
 <div id="app">
  <gHeader></gHeader>
 </div>
</template>
<style lang="css" scoped>
 .gHeader /deep/ .name{ //第一種寫法
  color:red;
 }
 .gHeader >>> .name{  //二種寫法
  color:red;
 }
</style>

以上這篇解決vue scoped html樣式無效的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 在vue中使用echarts圖表實例代碼詳解

    在vue中使用echarts圖表實例代碼詳解

    本文通過實例代碼給大家介紹了在vue中使用echarts圖表的方法,需要注意的事項文中給大家提到,需要的朋友可以參考下
    2018-10-10
  • 詳細對比Ember.js和Vue.js

    詳細對比Ember.js和Vue.js

    這篇文章主要介紹了詳細對比Ember.js和Vue.js,對JS框架感興趣的同學,可以參考下
    2021-05-05
  • 關(guān)于element-ui表頭吸附問題的解決方案

    關(guān)于element-ui表頭吸附問題的解決方案

    數(shù)據(jù)過多滑動表格的時候,看不到表頭不知道對應(yīng)的數(shù)據(jù)是什么,用戶體驗操作不友好,要改成表頭固定住,所以本文給大家介紹了關(guān)于element-ui表頭吸附問題的兩個解決方案,需要的朋友可以參考下
    2024-01-01
  • Vue中的循環(huán)及修改差值表達式的方法

    Vue中的循環(huán)及修改差值表達式的方法

    這篇文章主要介紹了Vue中的循環(huán)及修改差值表達式的方法,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • vue用vis插件如何實現(xiàn)網(wǎng)絡(luò)拓撲圖

    vue用vis插件如何實現(xiàn)網(wǎng)絡(luò)拓撲圖

    這篇文章主要介紹了vue用vis插件如何實現(xiàn)網(wǎng)絡(luò)拓撲圖,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • vue3+Typescript實現(xiàn)路由標簽頁和面包屑功能

    vue3+Typescript實現(xiàn)路由標簽頁和面包屑功能

    在使用 Vue.js 開發(fā)后臺管理系統(tǒng)時,經(jīng)常會遇到需要使用路由標簽頁的場景,這篇文章主要介紹了vue3+Typescript實現(xiàn)路由標簽頁和面包屑,需要的朋友可以參考下
    2023-05-05
  • vue中el-date-picker限制選擇7天內(nèi)&禁止內(nèi)框選擇

    vue中el-date-picker限制選擇7天內(nèi)&禁止內(nèi)框選擇

    項目中需要選擇時間范圍,并且只能選擇當前日期之后的七天,本文就來介紹了vue中el-date-picker限制選擇7天內(nèi)&禁止內(nèi)框選擇,具有一定的參考價值,感興趣的可以了解一下
    2023-12-12
  • Vuejs中使用markdown服務(wù)器端渲染的示例

    Vuejs中使用markdown服務(wù)器端渲染的示例

    這篇文章主要介紹了Vuejs 中使用 markdown的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • 專業(yè)級Vue?多級菜單設(shè)計

    專業(yè)級Vue?多級菜單設(shè)計

    這篇文章主要為大家介紹了專業(yè)級的Vue?多級菜單設(shè)計實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • Vue3?Transition組件給頁面切換并加上動畫效果

    Vue3?Transition組件給頁面切換并加上動畫效果

    這篇文章主要給大家介紹了關(guān)于Vue3?Transition組件給頁面切換并加上動畫效果的相關(guān)資料,vue的過渡動畫主要是transition標簽的使用,配合css動畫實現(xiàn)的,需要的朋友可以參考下
    2023-06-06

最新評論

余江县| 岑溪市| 姚安县| 娄底市| 弥渡县| 衡山县| 日土县| 黄浦区| 休宁县| 洱源县| 无为县| 化隆| 肃宁县| 阳江市| 曲阜市| 宜阳县| 利津县| 山阴县| 曲麻莱县| 陕西省| 靖边县| 光泽县| 蒙阴县| 临城县| 冷水江市| 元氏县| 平舆县| 海南省| 饶阳县| 义乌市| 大新县| 遂川县| 若尔盖县| 罗源县| 莲花县| 淮北市| 师宗县| 张家川| 隆林| 深州市| 金阳县|