日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Vue如何使用CSS自定義變量

瀏覽:36日期:2022-09-30 10:11:19

在 css 自定義變量的功能以及出來許久了,但實際開發中大家使用并不多。歸其原因是因為 less、sass 等預處理器已經擁有定義變量的功能,以及Vue、react很方便設置 style 樣式,大家可能覺得使用 css 定義變量不方便且沒必要。實則不然舉個最直觀的栗子:“如何使用 vue 設置偽類偽元素的樣式”。這是個世紀難題,大部分人可能會通過修改類名的方式解決,可如果要修改的樣式多,或者我想通過不同的數據渲染不同的樣式,那該怎么辦呢?今天我就來直接解決這個問題。 先來了解什么是 css 自定義變量。 簡單使用:

<style>div { --bg-color : pink; //定義變量 color : var( --bg-color ) // 通過var函數使用變量}</style><div>hello</div>

你將會得到一個粉色的hello。在父級定義的變量也可以讓子級及其偽類偽元素使用。

<style>div { --bg-color : pink; //定義變量 color : var( --bg-color ); // 通過var函數使用變量}div:hover { background-color : var( --bg-color );}div span { background-color : var( --bg-color );}</style><div>hello <span>world</span> </div>

var 函數還可以設置一個默認值,當查找不到自定義變量時,你還可以設置一個默認值。

<style>div { color : var( --bg-color, pink ); // 第二個參數為默認值 background-color : var( --bg-color ,--color,--a,red );// 你甚至可以設置多個變量,它從左到右依次查找}</style><div>hello</div>

到此為止 css 自定義變量就介紹的完了。接下來看看它在 vue 中的使用。你可以在標簽的 style 屬性里面設置其變量的值。

<template><div @click='changeColor' :style='{’--a’ : a}'>hello</div></template>export default { data(){ return { a : ’blue’, } }, methods: { changeColor(){ this.a = this.a === ’blue’ ? 'red' : 'blue' } }}</script><style> .box { color : var(--a); } .box:hover { background-color : var(--a); }</style>

點擊 div 它的字體顏色以及其 hover 時的背景顏色將會直接改變。在此時你會發現通過自定義 css 變量,可以很方便的修改其樣式以及可以直接修改其偽類的屬性。由于子元素可以共享父元素的自定義變量,你可以直接在子組件中直接使用父自己的變量。

// 父組件<template><div :style='{’--a’ : a}'>hello <Child></Child></div></template>export default { components : { Child }, data(){ return { a : ’blue’, } }}</script>// 子組件 Child<template> <span>world</span></template><style lang='less'> span { color : var(--color); }</style>

試驗一下效果非常的 amazing ,這樣我們可以在父組件修改狀態來改變子組件的樣式,繞過了子父組件傳值。注意:子組件必須要在變量能作用到的范圍類掛載才行。

上述栗子中可以看出,子定義變量的方便之處。為來跟為方便的使用你可以通過 vue 自定義指令的方式設置變量。

// vue3 自定義指令。 function change(el,binding){for(let [key,value] of Object.entries(binding.value)){ el.style.setProperty(’--’+key, value);} } app.directive(css, {mounted(el,binding){ change(el,binding)}updated(el, binding) { change(el,binding)} })

注意修改css變量使用 el.style[’--color’] = ’red’ 是無效的,必須得用 style.setProperty api設置。注冊好指令后我們可以。

<template><div v-css='{a,b}' @click='changeColor'></div></template>export default { data(){ return { a : ’blue’, b : ’pink’ } }, methods: { changeColor(){ this.a = this.a === ’blue’ ? 'red' : 'blue' this.b = this.b === ’pink’ ? 'yellow' : 'pink' } }}</script><style> .box { width : 100px; height : 100px; background-color : var(--a); } .box:hover { background-color : var(--b); }</style>

極大的方便了vue 對于 style 樣式的操作。

我在此基礎上進行了一些優化及擴展,開源了一個工具,已發布在 npm 上。地址www.npmjs.com/package/vue… 。歡迎大家多多下載體驗,喜歡也可以 star 哦。

以上就是Vue如何使用CSS自定義變量的詳細內容,更多關于Vue 使用CSS自定義變量的資料請關注好吧啦網其它相關文章!

標簽: Vue
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
伊人久久成人| 国产精品片aa在线观看| 九九九精品视频| 免费在线成人网| 亚洲一区成人| 视频一区二区欧美| 热久久久久久久| 免费精品视频最新在线| 久久夜色精品| 丝袜美腿亚洲一区| 亚洲天堂免费| 日韩高清三区| 欧美一区二区三区久久| 日韩av网站免费在线| 日韩av网站免费在线| 亚洲免费资源| 欧美亚洲综合视频| 国产人成精品一区二区三| 国产人成精品一区二区三| 国产精品久久久久77777丨| 欧美日韩色图| 四虎884aa成人精品最新| 久久精品亚洲人成影院| 国产乱码精品一区二区三区四区| 丝袜美腿诱惑一区二区三区 | 日本亚洲不卡| 日韩在线网址| 欧美日韩国产高清| 亚洲精品一区二区在线看| 99国产精品久久久久久久| 蜜桃视频一区二区三区| 欧美日本久久| 精品国产中文字幕第一页| 激情久久一区二区| 欧美日韩精品免费观看视欧美高清免费大片| 日本视频中文字幕一区二区三区| www.九色在线| 成人美女视频| 中文欧美日韩| 欧美日韩一区二区三区四区在线观看 | 性色一区二区| 亚洲精品九九| 麻豆精品在线| 91精品在线观看国产| 麻豆精品网站| 国产精品欧美一区二区三区不卡| 久久国产精品久久w女人spa| 亚洲一区二区日韩| 青青国产精品| a国产在线视频| 免费在线观看不卡| 国产精品网在线观看| 国产网站在线| 久久亚洲欧美| 久久免费精品| 日韩三区四区| 精品三区视频| 国产精品午夜一区二区三区| 国产一区调教| 免播放器亚洲| 亚洲国内欧美| 亚洲aⅴ网站| 日韩久久电影| 日韩中文av| 99精品一区| 国产精品探花在线观看| 91精品亚洲| 亚洲天堂黄色| 91精品尤物| 香蕉精品视频在线观看| 国产精久久久| 亚洲日本三级| 99久久夜色精品国产亚洲狼| 欧美日韩亚洲一区三区| 国产精品久久久久久妇女| 欧美日韩激情| 蜜臀久久99精品久久久久久9| 91久久久久| 国产一区二区视频在线看| 亚洲2区在线| 久久免费高清| 日韩视频一二区| 女人天堂亚洲aⅴ在线观看| 国产精品国产三级国产在线观看| 青青草视频一区| 色爱综合网欧美| 午夜亚洲一区| 日产精品一区二区| 美日韩精品视频| 亚洲一区成人| 国产精品magnet| 99久久婷婷这里只有精品| 你懂的国产精品永久在线| 欧美中文一区二区| 亚洲黄色中文字幕| 视频一区国产视频| 精品不卡一区| 日韩欧美2区| 激情久久婷婷| 蜜桃视频在线观看一区| 激情久久久久久久| 国产精久久久| 日韩制服丝袜av| 欧美xxxx中国| 欧美黄色网页| 天堂va在线高清一区| 日韩av首页| 国产欧美日韩精品一区二区免费| 国产精品麻豆成人av电影艾秋| 欧美精品中文字幕亚洲专区| 91精品一区国产高清在线gif| 欧美亚洲国产激情| 国产视频一区二区在线播放| 国产综合婷婷| 亚洲三级国产| 91精品在线观看国产| 美女精品久久| 日韩国产高清在线| 黄色av一区| 日韩一区二区在线免费| 欧美午夜三级| 国产精品日韩| 日韩成人精品一区二区三区| 精品中文字幕一区二区三区四区| 人在线成免费视频| 欧美一区精品| 丝袜美腿亚洲一区| 影音国产精品| 亚洲天堂1区| 91中文字幕精品永久在线| 国产精品久久久久久久久久白浆| 久久久久99| 香蕉国产精品| 中文字幕系列一区| 成人午夜毛片| 国产精品一区二区99| 丝袜美腿成人在线| 国产精品九九| 中文不卡在线| 精品视频网站| 日本久久一区| 欧美精品一二| 久久午夜精品一区二区| 伊人久久婷婷| 亚洲精品在线观看91| 欧美1级日本1级| 欧美日一区二区| 色天使综合视频| av在线资源| 1024精品一区二区三区| 99精品在线免费在线观看| 成人在线网站| av高清不卡| 激情综合亚洲| 欧美成人a交片免费看| 国产精品mm| 欧美日韩99| 国产精品2023| 国产一区二区三区国产精品| 国产精品普通话对白| 一区二区三区四区在线看| 久久久久久久久久久9不雅视频| 亚洲精品中文字幕99999| 日韩视频中文| 鲁大师成人一区二区三区| 男女男精品视频网| 日韩和欧美的一区| 欧美日韩中文| 久久久久亚洲精品中文字幕| 伊人久久亚洲美女图片| 色爱综合网欧美| 国产日韩精品视频一区二区三区| 日韩黄色大片网站| 午夜欧美巨大性欧美巨大| 性欧美videohd高精| 久久亚洲一区| 国产丝袜一区| 亚洲专区欧美专区| 蜜桃一区二区三区在线观看| 色8久久久久| 99热免费精品| 国产精品日韩欧美一区| 午夜在线视频一区二区区别 | 麻豆精品蜜桃| 精品丝袜在线| 亚洲欧洲专区| 国产精品一区高清| 久久久国产精品入口麻豆| 另类专区亚洲| 国产精品毛片在线| 91欧美极品| 欧美日韩尤物久久| 久久一二三区| 国产精品久久久久久模特| 不卡中文一二三区| 另类av一区二区| 欧美亚洲免费| 免费在线小视频| 亚洲高清影视| 国产精品成人3p一区二区三区|