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

前端之家收集整理的这篇文章主要介绍了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相关文章