2.12 vue中css scoped的原理

html-css018

2.12 vue中css scoped的原理,第1张

1.在组件中增加的css加了scoped属性之后,就在会在当前这个组件的节点上增加一个 data-v-xxx属性。

2.此组件的所用的css,都会被设置为属性选择器例如下:

3.通过css的属性选择器从而解决了多个组件重复的class,会导致冲突的问题

方法一:

使用原生js操作dom的方法,来改变css的样式,比如

document.getElementById(id).style.property =newstyle

这里的new style 里面就可以使用js传入的变量。

此方法固然可以,但是对应改变一些复杂的css,比如动画什么的,操作起来就不怎么方便了。此时,如下的方法二就显得尤为重要了!

方法二:

利用css变量来处理,思路是将js变量赋值给css变量,然后在css样式中使用css变量。如下图所示,我们传入year变量,然后生成了--top、--bottom等变量,然后这些变量就可以在css中使用!