vue项目中动态改变css样式,通过style写css样式的方式:style="{color:blue}"这种,但是可能会存在一个问题,这个style只是针对当前节点的样式进行修改,我如果还有其他节点样式或者伪类,这时候vue的style方式就没办法实现了(可能是我未了解到),所以我通过动态设置css的方式去控制css样式
以动态设置一个color为例
--my-color:blue;
.elementStyle{
color: var(--my-color);
}
这个时候elementStyle节点的color颜色已经是由--my-color这个变量控制了,我们只需要在使用的时候去赋值就可以
<div>
<span class="elementStyle" :style="setStyle()">我是一个节点</span>
</div>
···
##下面是一个vue的方法
setStyle(){
return {
‘--my-color‘: ‘red‘
}
}
···
##下面是css样式
<style lang="scss" scoped>
--my-color:blue;
.elementStyle{
color: var(--my-color);
}
</style>
这样这个节点样式就会从蓝色变成红色,这个方式多用于vue的一些伪类情况,我的VUE项目里各种伪类如果需要动态设置样式的话,就会通过这种方式
备注:最好这个颜色的设置在当前节点或者父节点,不然可能继承不到这个自己设置的样式
原文:https://www.cnblogs.com/wangchangzhi/p/14701437.html