在HTML5中,<div>在技术上是块级元素,但表现为内联元素。这是一个特殊的“混合”元素吗?</div>

时间:2012-09-05 20:32:02

标签: html5 inline block html

W3Schools定义的块级元素在元素之前和之后有一个换行符,例如 p,h1,等。非嵌套的内联元素要么自行开始(否如果嵌套,则保持在同一行。

span 行为正常(以及所有其他内联元素)。 Div 永远不会像块元素那样创建换行符,但只会在div元素开头的新行上开始。

也许我错过了一些东西,因为每个人都在谈论 DIV 是块级别,但它的行为就像一个内联元素,因为如果没有嵌套,它会启动一个新行,不会创建换行符,但是当一个 div 与另一个 div 嵌套时,它就像其他东西一样,只是创建一个新行。

DIV 是唯一的“混合”元素吗?我错过了一些更基本的东西吗?

2 个答案:

答案 0 :(得分:7)

没有元素会创建换行符。您只是看到了不同默认样式的效果,这些样式具有不同的marginpadding值。默认样式因浏览器而异,但通常看起来像HTML 4规范中包含的[非常过时]参考样式表:http://www.w3.org/TR/CSS2/sample.html

答案 1 :(得分:2)

Mozilla Developer Network或MDN是了解HTML的最佳位置。

此处有<div>的解释: div | Mozilla Developer Network

  

文档部门(<div>)HTML元素是 流内容的通用容器,它本身并不代表任何内容 。   它可用于将元素分组以用于样式目的(使用class或id属性),或者因为它们共享属性值,例如lang。   只有在没有其他语义元素(例如<article><nav>)合适时才应该使用它。

以下是块级内嵌元素之间的比较:


<强> Block-level elements


  

内联和块级元素之间的区别是:

     

<强>格式

     

默认情况下,块级元素从新行开始。

     

内容模型

     

通常,块级元素可以包含内联元素和其他块级元素。   这种结构区别的固有特征是块元素比内联元素创建“更大”的结构。


<强> Inline elements


  

内联和块级元素之间的差异:

     

内容模型

     

通常,内联元素可能只包含数据和其他内联元素。

     

<强>格式

     

默认情况下,内联元素不以新行开头。

相关问题