我很好奇,span标签似乎和div一样工作。

#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