在HTML <head>标记中包含两个<style>元素是否有效?</style>

时间:2012-07-26 20:11:12

标签: html css styles

在HTML头标记中包含两个<style>标记是否有效?

例如,我正在尝试为没有添加外部样式表的电子邮件客户端编写HTML页面。由于我们的模板系统的工作方式,我们更容易

<head>
 <style>
  .someStyle{}
 </style>
 <style>
  .someOtherStyle{}
 </style>
</head>

而不是......

<head>
 <style>
  .someStyle{}
  .someOtherStyle{}
 </style>
</head>

如果选项2是执行此操作的唯一方法,我会这样做,但选项1由于各种原因更适合我们的框架代码。

3 个答案:

答案 0 :(得分:9)

<head></head>标记之间添加多个样式元素是完全正常的。 您可以拥有任意数量的<link><script>元素。

答案 1 :(得分:4)

是的,这完全有效。 CSS代表“级联样式表”(如同在彼此之上分层。)多个<style>标签允许您包含多个样式表或多个样式声明。

答案 2 :(得分:3)

没有一个答案引用任何来源,因此OP无法确定。 (请注意,“CSS”的“级联”部分和浏览器都不能容忍许多STYLE元素的事实证明了这一点;例如,他们容忍{感谢上帝,BTW!)STYLE元素{{1除非使用了BODY attr。,否则它被认为是异端,除非使用了scoped attr。这反过来基本上不被浏览器支持,尽管它是有效的......)

以下是the current HTML spec今天所说的内容(2017-02-08):

  

可以使用此元素的上下文:

     
      
  • 如果缺少scoped属性:需要元数据内容。
  •   
  • 如果缺少scoped属性:在作为head元素的子元素的noscript元素中。
  •   
  • 如果存在scoped属性:其中包含流内容,但在除其他样式之外的任何其他流内容之前   元素和元素间空白。
  •   

这实际上意味着原始问题的答案确实是:。 :)