2013-07-19 99 views
1

<span>元素与position: absolute;能够有一个高度,宽度,填充等,而不会将其更改为display: block;inline-block;执行<span>元素“position:absolute;”表现为块级元素?

它似乎工作,但它可以与所有浏览器省略display: block/inline-block<span>元素与position: absolute;

+0

如果您打算设置高度,宽度和填充,您为什么不使用< div >而不是< span >? – JanR

回答

0

A <div>元件是不是内嵌而元件是<span>。以下是绝对位置的定义:absolute - 该元素相对于其第一个定位的(不是静态的)祖先元素进行定位。所以你的问题的答案是肯定的:带显示的跨度元素:块显示为块级别的元素。让我知道你是否还需要澄清。

3

该规范says yes

否则,如果“位置”的值是“绝对”或“固定”,则框绝对定位,“浮动”的计算值是“无”,和显示根据下表设置。盒子的位置将由'顶部','右','底部'和'左'属性以及盒子的包含块决定。

表说,任何内嵌display值(内联,表列的基团,表列,表列的基团,表头的基团,表英尺的基团,表列,表-cell,table-caption,inline-block)变成block

4

简答:是的。

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

Hovewer,这个改变只涉及元素的视觉显示模型。 CSS不能影响HTML元素的content model,因为只有在文档被解析为DOM树后才应用CSS。所以span元素不能有pdiv子元素,不管哪种样式适用于它。