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项目里各种伪类如果需要动态设置样式的话,就会通过这种方式
备注:最好这个颜色的设置在当前节点或者父节点,不然可能继承不到这个自己设置的样式