2012-07-24 145 views
3

我有一个相对定位于其中的绝对定位元素的ul。我如何根据内容增加ul的高度。如何增加具有绝对定位元素的元素的高度

添加类clearfix给UL不起作用

+1

更多信息需要这个我想。链接到您的网页或小提琴将是伟大的。 – 2012-07-24 15:19:22

+1

有没有快速解决这个 - 绝对定位的元素不填充他们的容器。您将需要根据它们的位置来计算包含元素的总高度,例如使用javascript。 – 2012-07-24 15:20:22

+1

问题是,你的lis不再是对象流,所以它们不会以任何方式影响你的ul的占用。根据lis增加uls高度的唯一方法是使用javascript来添加lis的高度以将sum设置为ul的高度。 – 2012-07-24 15:22:21

回答

4

当您使用绝对定位的元素,它们实际上是从元件的布局移除了放置它们,所以你不能用大小的变化而自动增长包含元素到绝对定位的元素。您可以使用JavaScript技术来计算绝对定位的LI的大小,然后相应地设置包含UL的高度。

+0

JavaScript是我最后的手段,但thx反正,希望有一个CSS解决方案 – Neil 2012-07-24 15:30:35

2

您可以使用jQuery

var totalHeight = 0; 
$('ul>li').each(function(i,el){ 

    totalHeight += $(el).height(); 


}); 

$('ul').height(totalHeight); 

愿你需要总结的顶部位置或保证金,以获得正确的高度。

相关问题