CSS元素类 - 高度因内容而异,如何解决?

问题描述:

我有一个问题与CSS。 检查我的网站http://yourdesigns.nl/ssi/index.phpCSS元素类 - 高度因内容而异,如何解决?

正如你可以看到我有一个3列的行在索引页的中心。每列都有一个边框,可以产生“盒子般的”感觉。 问题是,一旦一个盒子的内容较少,那么盒子的高度就会变小。

我的目标是让所有的盒子都具有相同的高度,我知道这是可能的,只需将高度属性添加到我的盒子元素的类中,但所有内容都是从数据库中抓取的,所以如果我的客户端更新内容,这些框可能大于该类的固定高度值,从而导致内容与边框/框重叠。

我怎样才能让我所有的箱子具有相同的高度,而不会在我的css中给出固定的高度值?

由于提前,

迈克尔

+0

只是要清楚,你想要的框能够扩展,如果需要容纳更多的内容,但希望所有三个保持相同的高度? – Jack 2013-02-15 21:06:56

+0

你看过吗?你可能会在这里找到答案。 http://css-tricks.com/fluid-width-equal-height-columns/ – Seanbish 2013-02-15 21:34:42

如果你想保持框的高度相等,防止溢出,你可以在CSS中为你的盒子类设置高度和溢出属性:

.boxes 
{ 
    height:500px; 
    overflow: hidden; 
    text-overflow:ellipsis; // ends the text block with "..." - css3 no ie7/ie8 support 
} 

如果你想的箱子重新大小动态地根据您可以使用jQuery的最大的盒子:

$(document).ready(function() {  
    var largestBox = Math.max($('#box1').height(),$('#box2').height(),$('#box3').height()); 
    $('.boxes').height(largestBox); 
}); 

这里有一个展示的jsfiddle jQuery的选项:http://jsfiddle.net/EjPSw/

+1

你在你的jsfiddle例子中缺少#box3。 – 2013-02-15 21:31:21

+0

好的,谢谢!我更新了小提琴。 – Jack 2013-02-15 21:32:36

+0

不客气,我们都在这里帮助每个人,不是吗?:) – 2013-02-15 21:33:38

试着这么做

min-height: 500px 

我不知道一个非CSS3的解决方案,我会去一个jQuery解决方案通过计算所有的箱子而不是给所有的箱子最高的高度。

你必须把你的箱子放在一个div容器中。外容器有风情

{ 
    overflow: hidden; 
    border-bottom:1px solid gray; 
} 

而容器内的盒子应该有风格

{ 
    border:1px solid gray; 
    float:left; 
    text-align:center; 
    padding-bottom: 200em; 
    margin-bottom: -200em; 
} 

点击此链接为example

你可以尝试使用jQuery。

给每个盒子一个id,例如box1,box2,box3;

ü可以使用jQuery这样的:

$(function(){ 
var box1 = $("#box1").height(); 
var box2 = $("#box2").height(); 
var box3 = $("#box3").height(); 

if((box1 > box2) && (box1 > box3)) 
{ 
    box2.height(box1); 
    box3.height(box1); 
} 
else if((box2 > box1) && (box2 > box3)) 
{ 
    box1.height(box2); 
    box3.height(box2); 
} 
if((box3 > box2) && (box3 > box1)) 
{ 
    box2.height(box3); 
    box1.height(box3); 
} 
}); 
+0

更快使用'Math.max'来比较箱体高度并选择最大值,然后将其分配给所有箱子。没有if/else需要这种方式(请参阅下面的示例) – Jack 2013-02-15 21:29:55

+0

你对此真实:) – 2013-02-15 21:31:01