可能重复:
Does <STYLE> have to be in the <HEAD> of an HTML document?
我是开发CMS系统的团队的一员。
我们希望能够以符合W3C标准的方式在HTML页面的<style>
中插入<body>
标记,因为验证是我们的SEO顾问的要求。
样式标记在所有浏览器的body标签内完美运行,但它拒绝验证。
答案 0 :(得分:25)
HMTL DTD不允许它,因此它不会验证。无所谓,无论如何所有浏览器都支持它。
答案 1 :(得分:7)
HTML 4规范声明应该在HEAD元素内,而不是BODY元素。另请参阅此相关(重复?)问题
does-style-have-to-be-in-the-head-of-an-html-document
HTML允许文档的 HEAD 部分中的任意数量的STYLE元素。
答案 2 :(得分:4)
<style>
元素包含适用于整个文档的元数据。这是<head>
元素旨在包含的内容。它们生活在头脑中是有道理的,所以这就是规范要求的地方。
答案 3 :(得分:2)
从字面上看,<style>
代码中的<body>
代码无法验证,因为所有HTML规范都说它不在那里。
关于为什么规范说,我不知道。该要求仍然是最新的HTML规范,最近允许在现实世界中被以前的规范禁止的事情(例如省略type
标签上的<style>
属性),所以我假设必须有一个理由仍然存在要求。
我想在某些情况下,在正文中包含<style>
标记会使页面呈现更难/更慢/更不可靠。
答案 4 :(得分:0)
你在验证什么? HTML,XHTML Transitional,XHTML strict?
可能是因为内联样式在XHTML Strict中无效。您需要使用class="foo"
,并在CSS文件中定义foo。