我看到这样的事情:
<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功能.
是的,它违反了HTML规范.
<!ELEMENT DIV - - (%flow;)* -- generic language/style container -->
Run Code Online (Sandbox Code Playgroud)
如果您想要查看%flow的确切方式,请关注实时版本中的超链接; 扩展(它不包括样式).
浏览器往往会进行大量的错误恢复,因为很多作者都做了愚蠢的事情.
不依赖于错误恢复 - 有很多浏览器,当HTML不符合规范时,它们的行为并不一样.