如何使用Dart动态添加样式表? [英] How do I dynamically add a stylesheet using Dart?
问题描述
我知道在Javascript如何动态添加样式表。
这可以使用下面的代码:
I know in Javascript how to dynamically add a stylesheet. This can be done using the following code:
var sheet = document.createElement('style');
但是当我使用Dart尝试相同的时候( https://www.dartlang.org/ ),如下所示:
But when I try the same using Dart (https://www.dartlang.org/), like this:
CssStyleSheet sheet = document.createElement('style');
然后Dart编辑器告诉我类型Element的值不能分配给
Then the Dart-editor tells me "A value of type Element cannot be assigned to a variable of type CssStyleSheet".
我也尝试过这样:
CssStyleSheet styleSheet = new CssStyleSheet();
但是这给我警告CssStyleSheet类没有默认构造函数
这样:
CssStyleSheet sheet = DomImplementation.createCssStyleSheet('mySheet', '');
无法使用静态访问访问实例成员'createCssStyleSheet'。
$ b $bÚ$ b $bÚ
所以我的问题是:如何在Dart中创建一个CssStyleSheet,这样我可以使用 insertRule(rule,index)
和 deleteRule(index)
?
Gives met "Instance member 'createCssStyleSheet' cannot be accessed using static access".
So my question is: how do I create a CssStyleSheet in Dart, such that I can use methods like insertRule(rule, index)
and deleteRule(index)
?
关心,
Hendrik
Kind regards,
Hendrik
推荐答案
我尝试它,它为我工作:
I tried it and it worked for me:
import 'dart:html' as dom;
main () {
dom.document.head.append(new dom.StyleElement());
final styleSheet = dom.document.styleSheets[0] as dom.CssStyleSheet;
final rule = 'div { color: blue; }';
styleSheet.insertRule(rule, 0);
}
这篇关于如何使用Dart动态添加样式表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!