<style>HTML头标记内有两个标记是否有效?
例如,我正在尝试为没有添加外部样式表的电子邮件客户端编写HTML页面.由于我们的模板系统的工作方式,我们更容易拥有
<head>
<style>
.someStyle{}
</style>
<style>
.someOtherStyle{}
</style>
</head>
Run Code Online (Sandbox Code Playgroud)
而不是这个......
<head>
<style>
.someStyle{}
.someOtherStyle{}
</style>
</head>
Run Code Online (Sandbox Code Playgroud)
如果选项2是执行此操作的唯一方法,我将这样做,但选项1由于各种原因更适合我们的框架代码.
没有一个答案引用任何来源,因此 OP 无法确定。(请注意,“CSS”的“级联”部分和浏览器容忍许多STYLE元素的事实都不能证明任何事情;例如,它们也容忍(感谢上帝,顺便说一句!)STYLE元素BODY,即使规范认为这是异端邪说,除非使用了scopedattr.,尽管它是有效的,但浏览器基本上不支持它......)
以下是当前的 HTML 规范今天 (2017-02-08) 所说的内容:
可以使用此元素的上下文:
- 如果 scoped 属性不存在:元数据内容的预期位置。
- 如果 scoped 属性不存在:在作为 head 元素的子元素的 noscript 元素中。
- 如果存在 scoped 属性:预期流内容的位置,但在除其他样式元素和元素间空白之外的任何其他流内容之前。
这实际上意味着原始问题的答案确实是:yes。:)