【问题标题】:Is there a semantic difference <span>'s and <div>'s? [duplicate]<span> 和 <div> 有语义上的区别吗? [复制]
【发布时间】:2011-02-27 01:27:22
【问题描述】:

可能重复:
What is the difference between HTML tags DIV and SPAN?

我知道在编码 HTML 时,我应该牢记语义,例如,h1 需要是主标题,h2 需要是子标题,表格需要是表格,使用 &lt;em&gt; 强调而不是&lt;i&gt; 等。 div 和 span 之间是否有适当的区别,除了一个是块,另一个是内联?

当我学习时,有人告诉我&lt;span&gt; 用于样式文本中线。如果我需要将一小段文本定位在网页的某个位置,而不需要 &lt;p&gt; 标签,我会使用跨度,我应该坚持使用 div 吗?如果该文本需要覆盖两行(即,它需要一个宽度),如果它只包含文本,我应该使用什么?

【问题讨论】:

  • 据我了解,div 是“划分”,用于分隔演示内容。也许有人可以给你一个更详细的答案。
  • 这是这个问题的转贴:stackoverflow.com/questions/183532/…
  • 我想您要问的是:当我可以将
    inline 样式一起使用时,为什么还要使用
  • 我要问的是,仅仅因为我可以通过margins或者position:relative来设置一段文本的位置,是不是对span标签的不当使用?跨度>
  • @KushalP 这不是转发——这个问题询问语义差异,而您链接的问题要求提供简单示例(并且标题具有误导性)。

标签: semantic-markup html


【解决方案1】:

span 和 div 之间的主要区别在于,span 是内联元素,而 div 是块元素,例如 p 或段落元素。所以,本质上

span { display: block; }

本质上是将所有跨度转换为 div。您仅对一行文本使用跨度,例如应用效果或填充或其他东西。 div 通常用于分割您的网页,所以如果您必须在某处放置一段文本,我建议您使用 div。

【讨论】:

  • -1 您描述的是它的工作原理,而不是它的含义
  • "div 和 span 之间是否有适当的区别,除了一个是块,另一个是内联?"我想他已经知道 block 和 inline 是什么意思了,他所有的问题都是针对如何使用某些东西的。
【解决方案2】:

在语义上,&lt;div&gt;&lt;span&gt; 都没有任何内在含义。它们是“包罗万象”的标签,旨在与没有现有标签真正适合的东西一起使用。如果您关心语义,请使用 div 和 span 作为最后的手段。

它们之间的唯一区别是 div 是块级元素,而 span 是内联的。这意味着默认情况下,div 将启动一个全新的块,从技术上讲,跨度内只允许内联元素和某些 CSS。大多数浏览器似乎都在处理标签而不考虑规则(假设“标签汤”),您实际上可以使用 CSS 使两者都像另一个一样,但如果您关心验证或跨浏览器兼容性,请不要这样做(你关心的,对吧?)。

【讨论】:

    【解决方案3】:

    你明白了。 Span = 内联,Div = 块。就是这样。

    如果一段文字需要它自己的布局,(你想把它放在屏幕上的某个地方)那么它就是一个 div。

    如果一个文本简介参与到它旁边的其他文本的布局中,那么它就是一个跨度。

    内联元素不能有自己的布局——那么它就不是内联的。

    【讨论】:

      【解决方案4】:

      有一个根本区别:&lt;div&gt;block-level element,而 &lt;span&gt;inline elementdifference 是块级元素以换行符开始和结束,而内联元素则没有。

      也许更重要的是,根据 HTML 版本,对于哪些其他元素在块元素和内联元素中有效,存在不同的规则。

      【讨论】:

        【解决方案5】:

        &lt;span&gt;&lt;div&gt; 都是非常通用的元素。它们本身没有任何意义。

        主要区别在于&lt;span&gt; 是一个内联元素。这意味着如果你有类似的东西:

        <span>Some text.</span> Some other text
        

        新行中没有“其他文本”。如果你用&lt;div&gt;(一个块元素)替换了span,就会有换行符。请注意,在内联元素中包含块元素是不正确的语法。因此,&lt;span&gt; 可以包含在 &lt;div&gt; 中,反之则不行。

        查看这里了解更多:

        Wikipedia - Span and div

        About.com - Span vs. div

        【讨论】:

        • 块元素并不总是换行
        【解决方案6】:

        好吧,给你一个快速简单的答案,DIV 是一个除法!目标是在需要将某些元素视为一个组时使用它!

        例如: 使用 div 有一个登录面板,比方说,隐藏在屏幕的左侧,当鼠标悬停在 div 时显示出来:)

        【讨论】:

          【解决方案7】:

          Div 是一个分割块,span 用于跨越内联文本。

          所以 Div 是一个具有高度和宽度的框/块,span 是内联的。基本上。

          如果你想阅读规范,here's a link.

          DIV 和 SPAN 元素与 id 和 class 属性相结合,提供了一种向文档添加结构的通用机制。这些元素将内容定义为 inline (SPAN) 或 block-level (DIV),但不会对内容强加其他表现形式。因此,作者可以将这些元素与样式表、语言属性等结合使用,以根据自己的需要和品味来定制 HTML。

          【讨论】:

            猜你喜欢
            相关资源
            最近更新 更多
            热门标签