带有“position: absolute;”属性的<span>元素是否表现为块级元素?

3

<span>元素使用position: absolute;可以有高度、宽度、内边距等样式,而不需要将其更改为display: block;inline-block;。这似乎是有效的,但是对于所有浏览器来说,在position: absolute;下省略display: block/inline-block是否都可以?


如果你打算设置高度、宽度和填充,为什么不使用 <div> 而不是 <span>? - JanR
2个回答

5

规范说明

否则,如果'position'的值为'absolute'或'fixed',则该框被绝对定位,'float'的计算值为'none',并根据下表设置显示。该框的位置将由'top'、'right'、'bottom'和'left'属性及框所在的包含块确定。

该表格说明任何内联display值(inline、table-row-group、table-column、table-column-group、table-header-group、table-footer-group、table-row、table-cell、table-caption、inline-block)将变为block


4

简短回答:是的。

详细回答:请参阅http://www.w3.org/TR/CSS21/visuren.html#dis-pos-flo(或SLaks的回答)。

然而,此更改仅涉及元素的可视显示模型。CSS无法影响HTML元素的内容模型,因为CSS仅在文档解析为DOM树后应用。因此,span元素永远不可能有pdiv子元素,无论应用哪些样式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接