知識點:
方法:
第一步:html部分 標簽綁定動態style
<div :style="{
'--setColor': setColor,
'--setBackground': setBackground
}"
>
</div>
第二步: script部分 data設置變量
data(){
return{
setColor: "#fff",
setBackground: "#eee"
}
}
第三步: style部分 通過var函數方法引用data變量
div{
color: var(--setColor),
background: var(--setBackground)
}
代碼來源:匹諾曹Er,文章:https://www.jianshu.com/p/1ecc3b1ce375
原理刨析
:style="{'--setColor': setColor,} 等同于 style="--setColor: #fff;" 等同于 .div {--setColor: #fff;}/*定義變量*/
示例代碼
<script src="https://unpkg.com/vue@next"></script>
<!-- import CSS -->
<link rel="stylesheet" >
<!-- import JavaScript -->
<script src="https://unpkg.com/element-plus"></script>
<div id="app">
<template v-if="msg">
<p>簡單的顏色選擇器</p>
<h3>您選中的顏色是:{{stylecolor}}</h3>
<div class="div-font" :style="{
'--fontColor': stylecolor,
'--bgColor': stylecolor,
}">
我是一行簡單的文本,請點擊下方按鈕調整我的顏色
<span class="div-bg">更改我的背景色</span>
</div>
<el-color-picker v-model="stylecolor" size="large" show-alpha />
</template>
</div>
<script>
const App = {
data() {
return {
msg: true,
stylecolor: "red",
};
},
};
const app = Vue.createApp(App);
app.use(ElementPlus);
app.mount("#app");
</script>
<style lang="scss">
.div-font {
/*讀取變量*/
color: var(--fontColor);
}
.div-bg {
background-color: var(--bgColor);
}
</style>
效果
簡單的顏色選擇器
您選中的顏色是:{{stylecolor}}
我是一行簡單的文本,請點擊下方按鈕調整我的顏色
更改我的背景色