【问题标题】:Can <span> tags have any type of tags inside them?<span> 标签里面可以有任何类型的标签吗?
【发布时间】:2011-07-29 14:06:56
【问题描述】:

&lt;div&gt;&lt;form&gt;&lt;pre&gt; 等标签是否允许在 &lt;span&gt; 中使用?

【问题讨论】:

  • 似乎是死链接。
  • @aetheria:here u go(非常酷的图形,我下载到我的电脑上:P)
  • @Alex:感谢上传。

标签: html xhtml


【解决方案1】:

span 元素是一个 inline 元素,它应该只包含其他 inline 元素,而不能包含 block 元素。

来自the spec

通常,块级元素可以 包含内联元素和其他 块级元素。一般来说, 内联元素可能只包含数据 和其他内联元素。本质上 这种结构上的区别是 块元素创建的想法 比内联“更大”的结构 元素。

通用块级分组元素是div。通用的内联级分组元素是span

再次,来自the spec

DIV 和 SPAN 元素,在 结合 id 和 class 属性,提供通用机制 用于向文档添加结构。 这些元素将内容定义为 内联 (SPAN) 或块级 (DIV) 但 不强加其他表象习语 关于内容。

【讨论】:

  • 注意这里的关键字是should。如果您将 DIV 或任何其他块元素放入 SPAN,除非您真的关心根据规范进行验证,否则不会发生任何不好的事情。
  • @cwolves 但是你为什么要在一个内联元素中放置一个块级元素呢?那只是个坏主意。
  • 虽然它不会验证,但您可以使用适当的 CSS 规则使内联元素表现得像块级元素;像 span{display:block}
  • @Šime Vidas 你一般不会,而是扮演魔鬼的拥护者,如果你不关心验证,如果你在 span 上设置display: block,它就会有效地变成另一个 div,你可以用它来过滤:)
  • @cwolves 是的,这是真的。如果您将 SPAN 设置为块级,您将有效地拥有另一个 DIV。但是,我不推荐这样的做法。
【解决方案2】:

根据HTML Living Standard,SPAN 元素的内容模型是“短语内容”。

了解 SPAN 元素 here

阅读措辞内容here。第二个链接包含可以放入 SPAN 元素中的所有元素的完整列表。

【讨论】:

猜你喜欢
  • 2016-11-30
  • 2023-02-16
  • 2018-12-06
  • 1970-01-01
  • 1970-01-01
  • 2023-04-09
  • 2020-10-19
  • 1970-01-01
  • 2012-11-03
相关资源
最近更新 更多