html – 具有内联块父Div的绝对定位子Div的行为

我注意到Chrome / FF / IE上出现了一些奇怪的行为,并且想知道是否有人知道为什么 HTML / CSS会以这种方式呈现.

如果您有一个绝对定位的子div,其父级的显示设置为inline-block,则子div中的任何空格都将被视为换行符.即使子元素设置为contenteditable =“true”也是如此(当您尝试键入空格时,它会导致换行).

这是现象的一个小提琴:http://jsfiddle.net/cnPAG/1/

HTML:

<div id="container">
    <div id="content">Hello,World!</div>
</div>

CSS:

#container {
    display: inline-block;
    position: relative;
}
#content {
    position: absolute;
}

如果要么删除绝对定位的事实,要么删除父元素是内联块的事实,问题就解决了.

解决方法

当你给绝对定位孩子的div(#内容),你从文档的流动中取出,所以父DIV(#container的)崩溃,因为它的行为就好像它不再包含任何东西,基本上由具有零宽度或高度.这会导致绝对定位的子div(#content)崩溃.如果删除规则并为父级提供宽度:0规则,则可以看到类似的结果.
#container {
    width:0px;
}

jsFiddle example

相关文章

HTML代码中要想改变字体颜色,常常需要使用CSS样式表。CSS是...
HTML代码如何让字体盖住图片呢?需要使用CSS的position属性及...
HTML代码字体设置 在HTML中,我们可以使用标签来设置网页中的...
在网页设计中,HTML代码的字体和字号选择是非常重要的一个环...
HTML(Hypertext Markup Language,超文本标记语言)是一种用...
外链是指在一个网页中添加一个指向其他网站的链接,用户可以...