我需要创建一个布局,其中您有三列,在每一列中,相应的行需要具有相同的高度。对此的要求是。
- 三列
- 每列内有多行。
- 每个对应的行必须具有相同的高度。
- 在移动设备上,这些列将变成一个滑块。
我为此考虑了 2 个布局选项。
- 定位每列中的每一行并使用 Javascript 设置高度
<div class="container">
<div class="col">
<div class="row">row 1</div>
<div class="row">row 2</div>
<div class="row">row 3</div>
</div>
<div class="col">
<div class="row">row 1</div>
<div class="row">row 2</div>
<div class="row">row 3</div>
</div>
<div class="col">
<div class="row">row 1</div>
<div class="row">row 2</div>
<div class="row">row 3</div>
</div>
</div>
这种布局是理想的,因为我可以定位列并添加阴影样式,而不必定位每一行并应用到每一行。由于有三个容器列,因此在移动设备上实现滑块会更容易。但是,遍历每一列并获取相应的行并更新每一列的高度似乎需要做很多工作,尤其是因为每次调用 api 时都需要重新计算高度(上面的过滤器允许您更新数据)。
- 使用弹性
<div class="container">
<div class="row">
<div class="col">
row 1 col 1
</div>
<div class="col">
row 1 col 2
</div>
<div class="col">
row 1 col 3
</div>
</div>
<div class="row">
<div class="col">
row 2 col 1
</div>
<div class="col">
row 2 col 2
</div>
<div class="col">
row 2 col 3
</div>
</div>
<div class="row">
<div class="col">
row 3 col 1
</div>
<div class="col">
row 3 col 2
</div>
<div class="col">
row 3 col 3
</div>
</div>
</div>
这种方法很吸引人,因为我不需要使用 JS 来设置每一列中每个对应行的高度。但是,我需要为每一行设置单独的样式,比如阴影,这意味着我需要使用各种技巧,以免将阴影应用到每行的顶部和底部,这也是有风险的这将无法在不同的浏览器中正确显示(需要回到 IE 10)。此外,我能够激活的唯一滑块效果是溢出滚动,它不符合要求。
所以,我的问题是,还有其他我没有考虑的选择吗?你会怎么办?