你可以设计一个noscript元素吗?

nic*_*ckf 12 html css noscript

是否可以noscript在CSS选择器中使用该元素?

noscript p {
    font-weight: bold;
}
Run Code Online (Sandbox Code Playgroud)

Rex*_*x M 13

是! 你绝对可以做到这一点.

事实上,许多(所有?)浏览器都支持使用CSS定位任意标记.HTML规范中的"官方"标签仅定义浏览器应该对它们执行的操作.但CSS是一种针对任何XML风格的语言,所以你可以说foo {font-weight:bold;},在大多数浏览器中,<foo> hello world </foo>都会大胆出现.

正如Darko Z澄清的那样,IE6/7不会自动从源添加任意(非标准)元素到DOM; 它们必须以编程方式添加.


mat*_*ndr 6

我有一个IE错误要记住.如果像OP一样,你只想在noscript标签中设置文本样式而不是noscript标签本身,请忽略它.

假设你想让noscript标签的背景变红.在IE8中,它将显示启用JS.只是盒子本身,而不是里面的文字.

所以这种组合并不好:

CSS

noscript {
    background-color: red;
}
Run Code Online (Sandbox Code Playgroud)

HTML

<noscript>Turn on your damned JavaScript! What is this, 1999?</noscript>
Run Code Online (Sandbox Code Playgroud)

但这种解决方法工作正常:

CSS

noscript div {
    background-color: red;
}
Run Code Online (Sandbox Code Playgroud)

HTML

<noscript><div>Turn on your damned JavaScript! What is this, 1999?</div></noscript>
Run Code Online (Sandbox Code Playgroud)

奇怪的是,我只在IE8中看到这种行为,而不是IE7.谁知道6 ..