我有一个所有向左浮动的 div 布局,列数为 3。在这些图层内部是长度不同的文本,因此这些图层处于不同的高度,因此无法正确对齐并且看起来也不是很好,因为边框没有高度匹配。
我可以为所有 div 设置一个固定的高度,但这会在某些行上留下巨大的空白,所以我编写了一些 JQuery 来获取所有 div 的最大值并将所有高度设置为该高度,以便它们正确排列。脚本是:
var sectionheight = new Array(); //set empty array
$(".section-title").each(function () { //get all div elements
var value = $(this).height(); //get div height
sectionheight.push(value); //write height to array
});
var newsectionheight = Math.max.apply(Math, sectionheight); //get largest value in array
$('.section-title').height(newsectionheight); //set height of all elements to largest
这很好用,但在设计中,有些行只有 1 行文本,因此它正在将该行调整为与具有 5 行文本的顶行一样大。
我想要实现的是让它取前 3 个 div,获得最大值,然后将这 3 个 div 高度设置为该值。然后对第 4 到第 6 个 div 重复此操作,依此类推(因为 div 在 3 列中)
我可以做一个非常冗长的解决方案,$(".section-title").eq(2)
但我可以想象这不是一个理想的方法。
任何建议表示赞赏
编辑一些 div 的示例(css 在 html 中不可见,仅用于示例):
<div style="width: 100%;">
<div class="section-title" style="width: 30%; margin-right: 5px; float: left;">some text and a longer title than the other rows</div>
<div class="section-title" style="width: 30%; margin-right: 5px; float: left;">some text</div>
<div class="section-title" style="width: 30%; margin-right: 5px; float: left;">some text not as long</div>
<div class="section-title" style="width: 30%; margin-right: 5px; float: left;">some text</div>
<div class="section-title" style="width: 30%; margin-right: 5px; float: left;">short text</div>
<div class="section-title" style="width: 30%; margin-right: 5px; float: left;">some text</div>
</div>