是否存在语义差异<span>和<div>的?</div> </span>

时间:2010-06-02 21:54:27

标签: semantic-markup html

  

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

我知道在编写HTML时,我应该记住语义,例如,h1需要是一个主头,h2需要是一个子头,表需要是表,使用<em>来强调而不是<i>等。除了一个是块而另一个是内联的,div和跨度之间是否存在正确的区别?

当我在学习的过程中,我被告知<span>用于设置文本中线。如果我需要在我的网页中的某个位置放置一小段文字,一个不用<p>标签的文字,我是否应该使用跨度?如果该文本需要覆盖两行(即,它需要宽度),如果它只包含文本,我应该使用什么呢?

7 个答案:

答案 0 :(得分:8)

从语义上讲,<div><span>都没有任何内在含义。它们是“全能”标签,意在与没有现有标签的东西一起使用。如果您关心语义,请使用div和span作为最后的手段。

它们之间的唯一区别是div是块级元素,跨度是内联的。默认情况下,div将启动一个完整的新块,从技术上讲,只允许内联元素和某个CSS在某个范围内。大多数浏览器似乎都在处理标签而不管规则(假设是“标签汤”),并且您实际上可以使用CSS执行其他操作,但如果您关心验证或跨浏览器兼容性,则不要执行任何操作(你关心哪个,对吗?)。

答案 1 :(得分:6)

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

span { display: block; }

基本上将所有跨度转换为div。您只使用跨度来处理一行文本,例如应用效果或填充等。 Div通常用于划分你的网页,所以如果你不得不在某个地方放置一段文字,我建议使用div。

答案 2 :(得分:5)

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

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

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

  

DIV和SPAN元素与id和class属性一起提供了向文档添加结构的通用机制。这些元素将内容定义为内联(SPAN)或块级(DIV),但不对内容强加其他表述习惯用法。因此,作者可以将这些元素与样式表,lang属性等结合使用,以根据自己的需要和品味定制HTML。

答案 3 :(得分:3)

<span><div>都是非常通用的元素。他们自己没有任何意义。

主要区别在于<span>是内联元素。这意味着如果你有类似的东西:

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

新行上没有“其他文字”。如果用<div>(块元素)替换了跨度,则会有换行符。请注意,在内联元素中包含块元素是不正确的语法。因此,您可以在<span>内设<div>,但反之亦然。

请点击此处了解更多信息:

Wikipedia - Span and div

About.com - Span vs. div

答案 4 :(得分:2)

存在根本区别:<div>block-level element,而<span>inline elementdifference是块级元素以换行符开头和结尾,而内联元素则没有。

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

答案 5 :(得分:1)

嗯,为了给你一个快速简单的答案,DIV是一个师!目标是在某些元素需要被视为一个群体时使用它!

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

答案 6 :(得分:1)

你已经知道了。 Span = inline,Div = block。就是这样。

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

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

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