当前位置:  开发笔记 > 编程语言 > 正文

如何将容器div的大小调整为其子级的总高度?

如何解决《如何将容器div的大小调整为其子级的总高度?》经验,为你挑选了2个好方法。

我有一个容器元素,我需要调整它的内容更改.它包含2个绝对定位的div,可以改变高度.如果我没有指定容器的高度,那么容器后面的任何内容都会消失.

目前我正在做以下事情,但我很高兴找到一个不那么费力的选择:

(容器有位置:relative,#main和#sidebar是position:absolute,#sidebar的内容没有指定位置)

CSS:

div#mapcontainer { position:relative; width:100%; height: 600px;  }
div#main { position:absolute; top: 0; left: 10px; width: 500px; height: 400px; }
div#sidebar { position:absolute; top:10px; right:10px; width: 155px; height: 405px;}

HTML:

variable height content here

JS:

fixHeights = function() {   
    var children_height = 0;  
    $('#sidebar'). children().each(function(){children_height += $(this).height();});
    $('#container').height(Math.max(children_height, $('#main').height()));
};

小智.. 36

这是一个非常奇怪的问题,因为div的高度总是它的孩子的高度.

你在容器div中浮动内容了吗?当您浮动子内容时,包含的div不再起作用.

如果您是浮动超出容器div底部的内容,请将以下div添加到容器div子项的最底部:

这将不允许儿童漂浮在它上面,从而迫使包含div成为其最高儿童的身高......

dynamic content goes here
Lots of static stuff here

好吧,我不确定你为什么要按照自己的方式进行定位,但我为一个看起来像桌面应用程序的网站做了类似的事情.除了使用javascript,我不相信有任何办法可以做到这一点.Html文档旨在流动,而不是僵化.如果你想在javascript上保释,你将不得不放弃定位样式并使用浮动和清除div.它并不那么可怕......



1> 小智..:

这是一个非常奇怪的问题,因为div的高度总是它的孩子的高度.

你在容器div中浮动内容了吗?当您浮动子内容时,包含的div不再起作用.

如果您是浮动超出容器div底部的内容,请将以下div添加到容器div子项的最底部:

这将不允许儿童漂浮在它上面,从而迫使包含div成为其最高儿童的身高......

dynamic content goes here
Lots of static stuff here

好吧,我不确定你为什么要按照自己的方式进行定位,但我为一个看起来像桌面应用程序的网站做了类似的事情.除了使用javascript,我不相信有任何办法可以做到这一点.Html文档旨在流动,而不是僵化.如果你想在javascript上保释,你将不得不放弃定位样式并使用浮动和清除div.它并不那么可怕......


可怕......
我更喜欢在CSS中执行此操作,而不是仅为了重置而向页面添加额外内容.

2> annakata..:

如果你是浮动容器div"溢出:自动"也可以神奇地工作,特别是关于整个IE hasLayout崩溃

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有