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

我希望父级DIV随子DIV的高度的增加而增加,但是设置了绝对定位和相对定位的时候,好像撑不开了,该如何解决?... 我希望父级DIV随子DIV的高度的增加而增加,但是设置了绝对定位和相对定位的时候,好像撑不开了,该如何解决? 展开
 我来答
百度网友faadf46
高粉答主

2020-03-09 · 说的都是干货,快来关注
知道答主
回答量:4556
采纳率:0%
帮助的人:65.2万
展开全部

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

2、在容器DIV内要显示出来的float:left的所有的DIV之后,我们添加了这样的一个DIV:<div style="clear:both"></div>  。

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

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

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

young6672
2011-11-30 · TA获得超过122个赞
知道答主
回答量:153
采纳率:0%
帮助的人:70.2万
展开全部
绝对定位是撑不了父级标签的高度的,想对定位可以。
想对定位如果撑不开高度可以在父级标签后面加<div class="clear"></div>.
.clear {
clear:both;
}

这样就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
慕惠年华
推荐于2016-09-22 · TA获得超过152个赞
知道小有建树答主
回答量:319
采纳率:0%
帮助的人:309万
展开全部
用CSS似乎是解决不了,用个简单的JS吧
<body onload="psize()">
<script>
function psize(){
document.getElementById("parent").style.height = document.getElementById("son").style.height;
}
</script>
<div id="parent" style="background:#FF0; padding:10px; position: relative; width:300px;">
<div id="son" style="background:#F00; position: absolute; width:300px; height:1000px;"></div>
</div>
</body>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a91dbe362
2011-11-30 · TA获得超过1.1万个赞
知道大有可为答主
回答量:4087
采纳率:0%
帮助的人:4256万
展开全部
你子元素都绝对定位,脱离文档流了还想撑开。按楼上说的用js
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
白树01
2018-04-20
知道答主
回答量:61
采纳率:0%
帮助的人:2.1万
展开全部
如果自适应子元素里面是文本,同时无需兼容到ie8以下的的话,可以给子元素添加word-break: keep-all来曲线实现
或者子元素添加 width:max-content
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式