如何创建CSS达特关键帧规则(How to create CSS keyframe rule in

2019-07-17 11:30发布

我需要在DART动态创建@keyframe规则,并将其添加到文档的样式表。 这里是什么,我试图做JS的例子:

var styleSheet = document.styleSheets[0];
var rule = '@-webkit-keyframes { ... }';
styleSheet.insertRule(rule, 0);

这产生了两个问题:

  1. 如何创建在DART @keyframe规则? 有一个在API文档一个CSSKeyframesRule,但最新的飞镖编辑说没有这样的类型,当我尝试使用它Dartium抛出一个异常(被它不赞成?)。 我想这是不是只是一个字符串像JS,如飞镖应采取供应商前缀的照顾?

  2. 如果我创建一个规则,我怎么可以将其插入样式表。 StyleSheet类似乎并不具有像insertRule任何方法。 我当然可以只克里特风格节点并设置其innerHTML的,但我不觉得像每一个关键帧的规则创建单独的节点。

提前致谢。

Answer 1:

下面的代码似乎工作。

void main() {
  final styleSheet = document.styleSheets[0] as CssStyleSheet;
  final rule = '@-webkit-keyframes mymove { from {top:0px;} to {top:200px;} }';
  styleSheet.insertRule(rule, 0);
}


文章来源: How to create CSS keyframe rule in Dart
标签: dart