小程序中使用css var變量(使js可以動態(tài)設(shè)置css樣式屬性)
使用sass,stylus可以很方便的使用變量來做樣式設(shè)計(jì),其實(shí)css也同樣可以定義變量,在小程序中由于原生不支持動態(tài)css語法,so,可以使用css變量來使用開發(fā)工作變簡單。
基本用法
基礎(chǔ)用法
<!--web開發(fā)中頂層變量的key名是:root,小程序使用page-->
page {
--main-bg-color: brown;
}
.one {
color: white;
background-color: var(--main-bg-color);
margin: 10px;
}
.two {
color: white;
background-color: black;
margin: 10px;
}
.three {
color: white;
background-color: var(--main-bg-color);
}
提升用法
<div class="one"> <div class="two"> <div class="three"> </div> <div class="four"> </div> <div> </div>
.two { --test: 10px; }
.three { --test: 2em; }
在這個例子中,var(--test)的結(jié)果是:
- class="two" 對應(yīng)的節(jié)點(diǎn): 10px
- class="three" 對應(yīng)的節(jié)點(diǎn): element: 2em
- class="four" 對應(yīng)的節(jié)點(diǎn): 10px (繼承自父級.two)
- class="one" 對應(yīng)的節(jié)點(diǎn): 無效值, 即此屬性值為未被自定義css變量覆蓋的默認(rèn)值
上述是一些基本概念,大致說明css變量的使用方法,注意在web開發(fā)中,我們使用:root來設(shè)置頂層變量,更多詳細(xì)說明參考MDN的文檔
妙用css變量
開發(fā)中經(jīng)常遇到的問題是,css的數(shù)據(jù)是寫死的,不能夠和js變量直通,即有些數(shù)據(jù)使用動態(tài)變化的,但css用不了。對了,可以使用css變量試試呀
js
// 在js中設(shè)置css變量
let myStyle = `
--bg-color:red;
--border-radius:50%;
--wid:200px;
--hgt:200px;
`
let chageStyle = `
--bg-color:red;
--border-radius:50%;
--wid:300px;
--hgt:300px;
`
Page({
data: {
viewData: {
style: myStyle
}
},
onLoad(){
setTimeout(() => {
this.setData({'viewData.style': chageStyle})
}, 2000);
}
})
wxml
<!--將css變量(js中設(shè)置的那些)賦值給style-->
<view class="container">
<view class="my-view" style="{{viewData.style}}">
<image src="/images/abc.png" mode="widthFix"/>
</view>
</view>
wxss
/* 使用var */
.my-view{
width: var(--wid);
height: var(--hgt);
border-radius: var(--border-radius);
padding: 10px;
box-sizing: border-box;
background-color: var(--bg-color);
transition: all 0.3s ease-in;
}
.my-view image{
width: 100%;
height: 100%;
border-radius: var(--border-radius);
}
通過css變量就可以動態(tài)設(shè)置css的屬性值
代碼片段
https://developers.weixin.qq.com/s/aWfUGCmG7Efe
小程序演示

到此這篇關(guān)于小程序中使用css var變量的文章就介紹到這了,更多相關(guān)小程序使用css var變量內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JS實(shí)現(xiàn)的判斷方法、變量是否存在功能示例
這篇文章主要介紹了JS實(shí)現(xiàn)的判斷方法、變量是否存在功能,涉及javascript針對變量、方法判斷與異常處理操作技巧,需要的朋友可以參考下2018-05-05
BootStrap Table 分頁后重新搜索問題的解決辦法
這篇文章主要介紹了BootStrap Table 分頁后重新搜索問題的解決辦法,自定義搜索且有分頁功能,比如搜索產(chǎn)品名的功能。小編給大家?guī)砹岁P(guān)鍵代碼,非常不錯,需要的朋友可以參考下2016-08-08
PHP自動加載autoload和命名空間的應(yīng)用小結(jié)
PHP的自動加載就是我們加載實(shí)例化類的時候,不需要手動去寫require來導(dǎo)入這個class.php文件,程序自動幫我們加載導(dǎo)入進(jìn)來這.篇文章主要介紹了PHP自動加載autoload和命名空的應(yīng)用,需要的朋友可以參考下2017-12-12
JavaScript實(shí)現(xiàn)三級級聯(lián)特效
這篇文章主要介紹了JavaScript實(shí)現(xiàn)三級級聯(lián)特效,選擇省會出現(xiàn)相應(yīng)的縣下拉框,同時市的下拉框改變,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-11-11
jJavaScript中toFixed()和正則表達(dá)式的坑
這篇文章主要介紹了jJavaScript中toFixed()和正則表達(dá)式的坑,toFixed方法可以把Number四舍五入為指定小數(shù)位數(shù)的數(shù)字,具體詳細(xì)內(nèi)容需要的小伙伴可以參考一下2022-04-04
javascript實(shí)現(xiàn)十六進(jìn)制顏色值(HEX)和RGB格式相互轉(zhuǎn)換
這篇文章主要介紹了javascript實(shí)現(xiàn)十六進(jìn)制顏色值(HEX)和RGB格式之間的轉(zhuǎn)換,使用正則的方法實(shí)現(xiàn)RGB顏色轉(zhuǎn)換為16進(jìn)制,需要的朋友可以參考下2014-06-06
JavaScript中三種非破壞性處理數(shù)組的方法比較
在這篇文章中,我們將會探索處理數(shù)組的三種方法:for…of循環(huán)、數(shù)組方法.reduce()和數(shù)組方法.flatMap(),文中的示例代碼講解詳細(xì),感興趣的可以了解一下2023-06-06

