#1 楼
主要区别在于<span>
标签是一个内联元素,而<div>
标签是一个块级元素。两个块级元素(divs)将彼此垂直垂直显示,而两个内嵌元素元素(跨度)将水平依次显示。
要理解视觉术语的差异,可以将
<span>
元素视为单词,将<div>
元素视为段落:divs通常用于布置内容块。跨度通常用于突出显示该内容中的单词组。#2 楼
Nick和Toby都很好地回答了您的问题,但将其进一步讲了一个层次。这些是通用标签,可以简单地提供块或内联容器。实际上,可以通过将CSS的display css属性设置为“ block”,“ inline”甚至“ inline-block”(以及其他)来通过CSS扭曲它们,从而在某种程度上可以互换。不建议将它们弯曲成彼此一样的姿势。而且,HTML中的规则实际上阻止了在其他元素(主要是内联元素,例如
<div>
标签)中使用块级元素,因此,您应该尝试在适当的地方使用正确的标签,并且仅尝试覆盖其行为在绝对必要时。尝试将其视为语义元素。例如,当您要标记文本块内使用的内容时,请使用
<span>
;当您需要向页面本身添加额外的结构时,请使用<a>
。话虽这么说,HTML5有很多可以显着减少使用这些通用标签之一的语义元素。强烈建议您使用语义标记,而不要添加大量的div和spans。
祝您好运!
#3 楼
主要区别在于divs
是块元素,spans
是内联元素。两者都可以使用CSS设置样式,但是您希望这样做,但通常开箱即用
spans
进行较小的内联分割和divs
对于较大的块。某些因素会影响内联和块元素的不同,例如,不能在
span
元素上放置高度。
评论
您所说的block和inline元素是什么意思?
–user22936
2013年1月31日7:17
请参阅:w3.org/TR/CSS2/visuren.html#inline-boxes和:w3.org/TR/CSS2/visuren.html#block-boxes
–托比
13年1月31日在10:28