4

Dart で @keyframe ルールを動的に作成し、ドキュメント スタイルシートに追加する必要があります。これが私がやろうとしていることのJSの例です:

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

次の 2 つの疑問が生じます。

  1. Dart で @keyframe ルールを作成するにはどうすればよいですか? API ドキュメントには CSSKeyframesRule がありますが、最新の Dart エディターにはそのようなタイプはなく、Dartium を使用しようとすると例外がスローされます (廃止されましたか?)。Dartはベンダープレフィックスを処理する必要があるため、JSのような単なる文字列ではないと思いますか?

  2. ルールを作成した場合、それをスタイルシートに挿入するにはどうすればよいですか? StyleSheet クラスには、insertRule のようなメソッドがないようです。もちろん、スタイル ノードを作成してその innerHTML を設定することもできますが、キーフレーム ルールごとに個別のノードを作成する気はありません。

前もって感謝します。

4

1 に答える 1

3

次のコードは機能しているようです。

void main() {
  final styleSheet = document.styleSheets[0] as CssStyleSheet;
  final rule = '@-webkit-keyframes mymove { from {top:0px;} to {top:200px;} }';
  styleSheet.insertRule(rule, 0);
}
于 2012-12-20T09:44:49.130 に答える