我需要在Dart中动态创建@keyframe规则并将它们添加到文档样式表中.
这是JS中我正在尝试做的一个例子:
这是JS中我正在尝试做的一个例子:
var styleSheet = document.styleSheets[0]; var rule = '@-webkit-keyframes { ... }'; styleSheet.insertRule(rule,0);
它提出了两个问题:
>如何在Dart中创建@keyframe规则? API文档中有一个CSSKeyframesRule,但是最新的Dart编辑器说没有这样的类型,当我尝试使用它时Dartium会抛出异常(它是否已被弃用?).我想它不仅仅是JS中的字符串,因为Dart应该处理供应商前缀?
>如果我创建规则,如何将其插入样式表. StyleSheet类似乎没有像insertRule这样的方法.我当然可以只创建crete样式节点并设置其innerHTML,但我不想为每个关键帧规则创建单独的节点.
提前致谢.
解决方法
以下代码似乎有效.
void main() { final styleSheet = document.styleSheets[0] as CssStyleSheet; final rule = '@-webkit-keyframes mymove { from {top:0px;} to {top:200px;} }'; styleSheet.insertRule(rule,0); }