我想问一些简单的例子,说明<div>
and 的用法<span>
。我看过他们都用来标记网页的有一个部分id
或class
,但我想知道是否有当一个优于其他倍。
HTML标签<div>和<span>有什么区别?
记住,基本上,他们自己也不执行任何功能。他们没有具体说明的功能只是通过他们的标签。
它们只能在CSS的帮助下进行自定义。
现在,您遇到的问题是:
将SPAN标记与某些样式结合在一起,对于将其保留在html的某行(例如段落中)很有用。这是HTML中的行级别或语句级别。
例:
<p>Am writing<span class="time">this answer</span> in my free time of my day.</p>
如前所述,DIV标签功能只能在样式支持下可见,可以容纳大量HTML代码。
DIV是块级
例:
<div class="large-time">
<p>Am writing <span class="time"> this answer</span> in my free time of my day.
</p>
</div>
根据您的要求,两者都有使用的时间和情况。
希望答案清楚。谢谢。
只是想为span
vs的出现添加一些历史背景div
历史span
:
1995年7月3日,Benjamin CW Sittler 提出了一个通用文本容器标签,用于将样式应用于某些文本块。除非与样式表一起使用,否则呈现为中性。关于可读性,即含义,存在着争论。Bert Bos通过class属性(具有诸如City,person,date等的值)提到了元素的可扩展性。保罗·普雷斯科德(Paul Prescod)担心这两个因素都会被滥用。他反对在文本中提到“任何新元素都应该在旧元素上”,并添加“如果我们创建没有语义的标签,则可以在任何地方使用它而不会出错。我们必须强迫作者正确标记其文档的语义。我们必须强迫编辑器供应商在其界面中明确表明这一选择。”
从RFC草案中引入span
:
首先,在没有其他元素合适的情况下,需要一个通用容器来携带LANG和BIDI属性。为此引入了SPAN元素。
历史div
:
DIV元素可用于将HTML文档构造为分区层次结构。
...
Netscape引入了CENTER,之后他们才添加了对HTML 3.0 DIV元素的支持。由于其广泛部署,因此保留在HTML 3.2中。
简而言之,这两个元素都是出于对语义上更通用的容器的需求。提议将Span用作<text>
样式元素的更通用替代。提出Div是一种划分页面的通用方法,它具有替换<center>
标签以使内容居中对齐的其他好处。由于Div作为页分隔符的历史,它一直是一个块元素。Span一直是内联元素,因为其最初的目的是文本样式,而今天div和span都已成为具有默认block和inline display属性的通用元素。
我想说的是,如果您知道西班牙语,可以在此页面中找到适当的解释。
但是,一个快速的定义div
是用于划分部分,并且span
将某种样式应用于其他块元素(例如)中的元素div
。
Div是一个块元素,而span是一个内联元素,其宽度取决于其自身的内容,而div不
克里斯的答案中已经提到了真正重要的区别。但是,对于所有人来说,影响并不明显。
作为内联元素,<span>
只能包含其他内联元素。因此,以下代码是错误的:
<span><p>This is a paragraph</p></span>
上面的代码无效。要包装块级元素,必须使用另一个块级元素(例如<div>
)。另一方面,<div>
只能在块级元素合法的地方使用。
此外,这些规则在(X)HTML中已修复,并且不会因CSS规则的存在而改变!因此以下代码也是错误的!
<span style="display: block"><p>Still wrong</p></span>
<span><p style="display: inline">Just as wrong</p></span>
暗含“块元素”的含义,但未明确说明。如果我们忽略所有理论(理论是好的),那么以下是实用的比较。下列:
<p>This paragraph <span>has</span> a span.</p>
<p>This paragraph <div>has</div> a div.</p>
产生:
This paragraph has a span.
This paragraph
has
a div.
这表明,不仅要一个div 不被使用内联,它根本不会产生预期的影响。
如其他答案中所述,默认情况下div
将被呈现为块元素,而span
将在其上下文中内联呈现。但是它们都没有任何语义价值。它们的存在是为了允许您将样式和标识应用于任何给定的内容。使用样式,您可以div
像a一样做出行为span
,反之亦然。
有用的样式之一div
是inline-block
例子:
inline-block
在游戏网站项目中,我曾经取得过巨大的成功。
这里已经有很好的详细答案,但是没有直观的示例,因此下面是一个简单的示例:
<div>
是一个块标签,<span>
而是一个内联标签。
为了完整起见,我邀请您这样考虑:
- HTML中定义了很多块元素(前后都有换行符),还有很多内联标签(没有换行符)。
- 但是在现代HTML中,所有元素都应该具有含义:a
<p>
是一个段落,an<li>
是一个列表项,等等,我们应该将正确的标记用于正确的目的-与过去的时代不同使用<blockquote>
内容是否为引号来缩进。 - 所以,你会怎么做时,有是没有意义的,你正在试图做的事情?400px宽的列没有意义,对吗?您只希望文本列的宽度为400px,因为这适合您的设计。
- 因此,他们在HTML中又添加了两个元素:通用或无意义的元素
<div>
和<span>
,因为否则,人们会回到滥用确实具有意义的元素。
<div>
是一个块级元素,<span>
是一个内联元素。
如果您想对某些内联文本执行某些操作,<span>
则应该这样做,因为它不会像a <div>
那样引入换行符。
正如其他人所指出的,每种语义中都隐含着一些语义,最重要的事实是,a <div>
暗示了文档中的逻辑划分,类似于文档的某个部分或其他内容,例如:
<div id="Chapter1">
<p>Lorem ipsum dolor sit amet, <span id="SomeSpecialText1">consectetuer adipiscing</span> elit. Duis congue vehicula purus.</p>
<p>Nam <span id="SomeSpecialText2">eget magna nec</span> sapien fringilla euismod. Donec hendrerit.</p>
</div>
在HTML中,有一些标签可以为内容添加结构或语义。例如,
<p>
标签用于标识段落。另一个示例是<ol>
有序列表的标签。如上所示,当HTML中没有合适的标记可用时,通常使用
<div>
and<span>
标记。该
<div>
标记用于标识文档的块级部分/分区,该分区/分区在其前后都有换行符。可以使用div标签的示例包括页眉,页脚,导航等。但是,在HTML 5中已经提供了这些标签。
所述
<span>
标签用于标识文档的一个内联区段/分。例如,可以使用span标签将嵌入式象形文字添加到元素中。