2015-01-14 47 views
0

今天我在工作中遇到了一个有趣的问题。 当我使用绝对或固定位置设置内联元素时,它的行为类似于可以具有高度和高度的块元素。 这里一个简单的例子:位置:绝对/固定将显示属性更改为阻止

span { 
 
    background: red; 
 
    height: 100px; 
 
    width: 100px; 
 
} 
 

 
span#absolute { 
 
    position: absolute; 
 
    top:30px; 
 
    left:30px; 
 
}
<span>Inline</span> 
 

 
<span id="absolute">Inline, too</span>

正如你可以看到这两个范围有heightwidth(应在直列elemens被忽略)。但是在使用posision:absolute时适用。

所以我的问题:是第二个span行为像display:block完全或只是一个半块行为?

回答

1

http://www.w3.org/TR/CSS21/visuren.html#dis-pos-flo

影响框生成和布局的三个属性 - '显示器', '位置' 和 '浮动' - 相互作用如下:
2. [...]如果“位置'具有'绝对'或'固定'的值,该框绝对定位,'浮动'的计算值为'无',并根据下表设置显示。

而且在下面提到表,你看到的规定值inline(其中span具有通过用户代理样式表默认值),计算值是... block

+0

谢谢你指出了! – Fuzzyma

1

根据Chrome浏览器在span#绝对值上的计算样式,该元素具有display:block属性。 enter image description here

+0

我'好奇,如果这是在规格 – Fuzzyma

相关问题