今天看到一个css动画样式,然后筹算封装一个这个css样式。
我用的react组件,然后map了我要的全部盒子
遇到了困难,我打印e和this,都没有我想用的对象。
连续性猜疑。
陷入覃思和甜睡。
然后不竭打印refs。。。
天啊,我在干什么。我执着地寻找style。。。
我在return的盒子里加了一个style,然后打印了style,简直可以转变css属性
我俄然意识到,我需要打印更原始,或者说更底层的一些对象
于是我开始打印window和document,笨蛋啊,,操纵dom啊
我打印了document,然后开始点要领打印styleSheets
是个数组,然后百度了styleSheets,
应用于文档的所有样式表是通过document.styleSheets调集来暗示。通过这个调集的length属性可以获知文档中样式表的数量,而通过方括号语法或itme()要领可以访谒每一个样式表。
还检察了这个parentStyleSheet:
parentStyleSheet:在当前样式表是通过@import导入的情况下,这个属性是一个指向导入它的样式表的指针。
我要写动画!我要写动画!
我要怎么才华用上它呢?
this.refs[0].style.animation=‘myMove 5s‘
document.styleSheets[0].insertRule(`@keyframes mymove{from{ color:‘red‘ }to{color:‘blue‘}`,0)
insertRule是个啥呢。。。
https://developer.mozilla.org/zh-CN/docs/Web/API/CSSStyleSheet/insertRule
这个网址必然要看,必然要看!
讲了insertRule的要领和一些限制。
用js控制css动画效果@keyframes