【问题标题】:Can you have a <span> within a <span>?<span> 中可以有 <span> 吗?
【发布时间】:2012-02-23 18:52:48
【问题描述】:

故事如下:我正在使用 SWFObject 将 Flash 对象插入到我的页面中。嵌入吃掉了我的span。所以,我为此失去了所有的 CSS。我正在考虑将所有 CSS 移至父级,以便在 Flash 出现时不会丢失我的 CSS 样式。

我尝试在span 中使用span,但我认为它不起作用。是否有一个原因?我不明白为什么你可以在div 中使用div,但在span 中却不能使用span

这是否与 spans 内联有关?

【问题讨论】:

  • 跨度内可以有跨度
  • 你是什么意思:“嵌入吃掉了我的跨度”。另外,请在dabbletJsfiddle 上提供reduced test case
  • span 与 div 没有什么不同,除了默认情况下每个属性的属性都倾向于以某种方式定义。但是,它们都只是元素。如果您选择这样做,您可以将跨度视为块级元素。我认为您错误地使用了嵌入方法。我相信 swfObject 要求您为它定义一个元素以替换其内容。他们的例子在这里:code.google.com/p/swfobject/wiki/documentation 显示他们替换了一个对象。也许你也应该这样做。
  • 对于遇到此问题的任何人。请记住,如果需要添加样式,您可能需要将 span 设置为 position: blockposition: inline-block
  • @JGallardo 你的意思是display: blockdisplay: inline-block

标签: html css


【解决方案1】:

HTML4 specification 声明:

内联元素可能只包含数据和其他内联元素

Span 是一个内联元素,因此在 span 中包含 span 是有效的。 有一个相关的问题:Can <span> tags have any type of tags inside them? 说得很清楚。

HTML5 specification(包括 2017 年 11 月 16 日的最新草案 HTML 5.3)更改了术语,但将 span 放在另一个 span 中仍然完全有效。

【讨论】:

    【解决方案2】:

    是的。您可以在span 中拥有span。您的问题源于其他原因。

    【讨论】:

      猜你喜欢
      • 2020-03-16
      • 2022-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-15
      • 2015-07-03
      相关资源
      最近更新 更多