任何元素里面的<style>标签仍然有效吗?

omg*_*omg 16 html css

我看到这样的事情:

<div>
<style type="text/css">
...
</style>
</div>
Run Code Online (Sandbox Code Playgroud)

这很奇怪,但仍然有效.

这是违反标准的吗?

Alo*_*hci 11

值得指出的是,虽然它是无效的HTML,但它也非常常见,任何不支持它的浏览器都无法正确呈现网络的重要部分.

特别是混搭,需要使用这个功能,HTML 5定义<style scoped>来处理这个用例.<style scoped>可以出现在正文中,虽然如此定义的样式不适用于整个文档,只适用于<style scoped>出现的部分.

警告:HTML 5是草稿,并且无法保证将实现<style scoped>或任何其他尚未实现的HTML 5功能.


Que*_*tin 7

是的,它违反了HTML规范.

<!ELEMENT DIV - - (%flow;)*            -- generic language/style container -->
Run Code Online (Sandbox Code Playgroud)

(来自规范div部分)

如果您想要查看%flow的确切方式,请关注实时版本中的超链接; 扩展(它不包括样式).

浏览器往往会进行大量的错误恢复,因为很多作者都做了愚蠢的事情.

不依赖于错误恢复 - 有很多浏览器,当HTML不符合规范时,它们的行为并不一样.