国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

vue組件中的樣式屬性scoped實例詳解

2024-05-06 15:28:20
字體:
來源:轉載
供稿:網友

Scoped CSS

Scoped CSS規范是Web組件產生不污染其他組件,也不被其他組件污染的CSS規范。

vue組件中的style標簽標有scoped屬性時表明style里的css樣式只適用于當前組件元素

 它是通過使用PostCSS來改變以下內容實現的:

<style scoped>.example { color: red;}</style><template> <div class="example">hi</div></template>

渲染結果:

<style>.example[data-v-f3f3eg9] { color: red;}</style><template> <div class="example" data-v-f3f3eg9>hi</div></template>

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

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

關于子組件的根元素

使用了scoped屬性之后,父組件的style樣式將不會滲透到子組件中,然而子組件的根節點元素會同時被設置了scoped的父css樣式和設置了scoped的子css樣式影響,這么設計的目的是父組件可以對子組件根元素進行布局。
.vue模板中的樣式是根據需要按需加載,訪問一個頁面該組件中的樣式就會追加到head標簽中,如果父子組件中都對某個子組件根節點元素進行了控制,則父組件里的樣式會被后來的覆蓋。

深選擇器

如果想對設置了scoped的子組件里的元素進行控制可以使用'>>>'或者'deep'

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

一些預處理程序例如sass不能解析>>>屬性,這種情況下可以用deep,它是>>>的別名,工作原理相同。

動態生成的內容

使用v-html動態創建的DOM內容,不受設置scoped的樣式影響,但你依然可以使用深選擇器進行控制

下面給大家補充下vue中使用v-html加載的富文本,css中定義樣式不生效

如題,使用v-html加載一段富文本,富文本里包含圖片,在手機上圖片寬度可能會溢出

  <div v-html="htmlContent" class="rich"></div>   <style scope>  .rich>>> img{ display:block; max-width: 100%}  </style>

注意:這里的>>>需要使用css語法,寫在less里會報錯

總結

以上所述是小編給大家介紹的vue組件中的樣式屬性scoped實例詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對錯新站長站網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 本溪市| 桂林市| 吉安县| 江西省| 和硕县| 扎兰屯市| 沙湾县| 宁海县| 阿克苏市| 万全县| 招远市| 肥西县| 清河县| 武陟县| 旌德县| 平乡县| 墨江| 克山县| 阳泉市| 吐鲁番市| 普格县| 房产| 连江县| 岗巴县| 屏东县| 阳朔县| 南宁市| 余江县| 五指山市| 张家界市| 信宜市| 舒兰市| 巴彦淖尔市| 嘉峪关市| 扶沟县| 长岛县| 永兴县| 大化| 新宾| 连云港市| 大余县|