是否可以在CSS选择器中使用noscript
元素?
noscript p {
font-weight: bold;
}
是的!你绝对可以这样做。
实际上,许多(全部?)浏览器都支持使用CSS来定位任意标签。HTML规范中的“官方”标签只定义了浏览器应该如何处理它们。但是CSS是一种目标XML的语言,因此你可以说 foo {font-weight:bold;}
,在大多数浏览器中,<foo>hello world</foo>
会以粗体显示。
正如Darko Z所澄清的那样,IE6/7不会自动从来源添加任意(非标准)元素到DOM中;它们必须通过程序添加。
我需要提醒你一个IE浏览器的Bug。如果你只想为
比如,你想要将
所以,下面的组合并不理想:
CSS
noscript {
background-color: red;
}
HTML
<noscript>Turn on your damned JavaScript! What is this, 1999?</noscript>
noscript div {
background-color: red;
}
HTML
<noscript><div>Turn on your damned JavaScript! What is this, 1999?</div></noscript>
奇怪的是,我只在IE8中看到这种行为,而不是IE7。至于IE6,谁知道呢...
foo
的元素。为了让IE将其识别为可样式化元素,您需要在JS中的某个位置包含此行:document.createElement('foo');
你不需要追加它,只需创建它。
这将使用CSS规则使IE为您设置该元素的样式:
foo { font-weight:bold; }
noscript
替换foo
,那么它就是。我不确定我理解你的观点。 - Darko