样式css标签会在体内呈现吗?

L84*_*L84 6 html css html-head document-body

我正在使用CMS,显然它有一个错误,不允许我添加任何内容到<head>博客文章.它将所有内容都插入到主体中,在大多数情况下它可以正常工作,但是在这样的代码实例中:

<style type="text/css">
 .slideshow img { display: none }
 .slideshow img.first { display: block }
</style>
Run Code Online (Sandbox Code Playgroud)

如果将这种类型的代码放在<body>所有主流浏览器的标签中,它们会运行吗?(IE8 +,Firefox,Chrome和Safari.)通常情况下,它总是在<head>页面中.

注意:这似乎适用于FF 15,但我不确定其他浏览器.

Guf*_*ffa 10

在正文中使用样式标记是无效代码.

每个浏览器都会尝试以有意义的方式使用无效代码.有些浏览器似乎仍然使用样式规则,但您不能依赖于所有当前和未来浏览器的行为.另一种非常有意义的行为是忽略无效的样式标记.

请注意,即使在同一浏览器中,行为也会有所不同,具体取决于页面是以标准合规模式还是以怪异模式呈现.在标准合规模式(这是首选模式)中,浏览器往往更严格并忽略无效代码,而不是试图猜测作者对代码的意图.


2014年更新:

在HTML5中,您可以在body元素中使用样式标记.在任何不了解HTML5的旧版浏览器中,或者如果您没有HTML5文档类型,它仍然是无效的代码.