我的JSFiddle:
我的CSS:
#sidebar {
width: 100%;
background-color: blue;
}
#sidebar div {
width: 33%;
display: inline-block;
}
#sidebar-left {
background-color: green;
}
#sidebar-center {
background-color: red;
}
#sidebar-right {
background-color: yellow;
}
#sidebar li {
list-style: none;
}
我的问题:
我希望一行中的3列具有完全相同的宽度并对齐顶部。这3列的内容应该是动态的,这意味着,高度应该自动变为最大高度。我们永远不知道3列中哪一列是最高的,所以这也应该是动态的。
我目前的解决方案是JSFiddle,我尝试了其他类似“display:table”的内容,但这更糟糕......
答案 0 :(得分:1)
这就是你要找的东西吗?
<强> JSFIDDLE 强>
请记住默认情况下display:inline-block
是基线,所以你必须设置它vertical-align:top
,加上内联块创建空格,你可以在这里看到解决方案:
<强> INLINE-BLOCK FIXES 强>
<强>更新强>
现在我仔细阅读了你的问题,我知道你想要3列相同的高度,所以我给你一些方法来实现这个目标:
<强> Fluid Width Equal Height Columns 强>
希望它有所帮助!
答案 1 :(得分:1)
这是一个简单的jQuery脚本解决方案:Example
首先,我为每个部分提供了一个课程.column
,以便更轻松地定位它们。
然后我得到每个元素的高度,并将最高高度应用于所有元素。
heightArrayHeading = [];
$('.column').each(function() {
$(this).css('height', '');
heightArrayHeading.push($(this).outerHeight());
});
$('.column').css('height', Math.max.apply(Math, heightArrayHeading));
最后,我将.column
vertical-align:top;
放在最顶层。
答案 2 :(得分:1)