子DIV设置了position:absolute,父DIV设置了position:relative的时候,子DIV如何能把父DIV撑开?

2024-12-22 20:03:44
推荐回答(5个)
回答(1):

1、作为外部容器的边框为红色的DIV,没有被撑开。这是因为内部的DIV因为float:left之后,就丢失了clear:both和display:block的样式,所以外部的DIV不会被撑开。

2、在容器DIV内要显示出来的float:left的所有的DIV之后,我们添加了这样的一个DIV:

  。

3、在用dojo做Drag & Drop的时候,由于这个DIV是容器DIV的一个子节点,如果这个节点被移动,则会造成排版上的Bug。

4、要显示的蓝框的DIV被移到这个DIV之后,则因为clear:both,它会被强制换一行显示。

5、修改原来的HTML代码,让外部的容器DIV来使用这个CSS即可。

回答(2):

绝对定位是撑不了父级标签的高度的,想对定位可以。
想对定位如果撑不开高度可以在父级标签后面加

.
.clear {
clear:both;
}

这样就可以了

回答(3):

用CSS似乎是解决不了,用个简单的JS吧





回答(4):

你子元素都绝对定位,脱离文档流了还想撑开。按楼上说的用js

回答(5):

如果自适应子元素里面是文本,同时无需兼容到ie8以下的的话,可以给子元素添加word-break: keep-all来曲线实现
或者子元素添加 width:max-content