[这与此问题有关,但不是因为它不是关于电子邮件.]
在许多情况下 - 特别是在使用CMS或其他人的框架时,将<style>
标签和<script>
标签嵌入到<body>
比在框架中更容易<head>
.这似乎适用于IE6,IE7(Windows),Firefox 3.x和Safari(OS X).
严格来说,这是错的吗?如果是的话,它会带来什么负面影响......除了在一些客户中完全被忽视之外?
注意:很高兴每个人都想谈论DRY和集中风格.想象一下我想在文档中使用样式标签,因为它们不是全球性的,并且我不能在每页基础上访问头部.无论出于何种原因,无论是网站的页面差异,还是每个段落的差异或其他原因.我对跟踪和改变很难感兴趣.我担心在体内使用风格可能会产生什么后果.
你集中了那些核心的东西.中央样式表中的其他一切都很臃肿.
Chr*_*ini 27
尽管在body标签中不允许显式声明状态样式标签,但规格并不重要.每个主要浏览器都支持样式标签,这最终是用户看到您网站的方式.*虽然长期以来一直在推动浏览器行业提供更好的标准和标准支持,但长期以来一直都是推动破坏文件以及可以.
领导HTML5规范工作的Google同时维护google.com,这违反了保存字节的规范,将引号排除在其属性值之外,使用针对CSS规范的选择器黑客,包括没有类型或语言的脚本标记,以及链接没有类型的标签.一个纯粹主义者可能会争辩说,互联网上最常用的网站之一违反了规范,并且存在被误导的严重危险.或者,我们可以推断,没有浏览器会进入流行使用,无法在规范上呈现如此广泛使用的黑客.
因此,问题更多的是浏览器行业的发展方向 - 这也是更好的规范之一,但也尽力遵守违反这些规范的网页的意图.我敢打赌,风格标签将在未来很长一段时间内保持在体内.
*在撰写本文时,Firefox 3 +,IE6 +,Safari 2 +,Chrome 12+中的HTML5文档类型支持正文中的样式标记.支持可能会更进一步,但这些浏览器很少见于互联网上.
Sam*_*son 16
可以使用<script>
和<style>
标签的上下文取决于您使用的doctype.例如,我假设您使用的是HTML5文档类型:
<!DOCTYPE html>
Run Code Online (Sandbox Code Playgroud)
该脚本标签有HTML5的doctype下三个背景:
在风格标签具有HTML5 DOCTYPE下一个稍微复杂的上下文结构:
从本质上讲,这表明您可以将样式标记和脚本标记放在正文中,因为正文是我们放置流内容和表达内容的地方.
与往常一样,请参阅您正在使用的doctype的规范.
Gum*_*mbo 10
简短的回答:
详细答案:
STYLE
被定义为head.misc:
<!ENTITY % head.misc "SCRIPT|STYLE|META|LINK|OBJECT" -- repeatable head elements -->
Run Code Online (Sandbox Code Playgroud)
head.misc的元素只允许是HEAD
元素的子元素.所以STYLE
只允许成为HEAD
元素的子元素.
SCRIPT
被定义为head.misc和特殊:
<!ENTITY % special
"A | IMG | OBJECT | BR | SCRIPT | MAP | Q | SUB | SUP | SPAN | BDO">
Run Code Online (Sandbox Code Playgroud)
并且特殊定义为内联:
<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">
Run Code Online (Sandbox Code Playgroud)
另外SCRIPT
也允许是BODY
元素的子元素.因此SCRIPT
允许在HEAD
元素nad 中允许内联的任何地方.