【发布时间】:2015-12-01 14:37:30
【问题描述】:
我有一个包含各种类别的产品表。在一个预告页面中,我展示了每个类别以及属于该类别的 2 到 5 张产品图片。
如果类别 div 由于宽度限制而无法放入同一行,我希望它们显示为使类别 div 浮动到左侧并环绕。我有以下用于相同的 CSS:
.prod-table
{
display: table;
float:left;
border: 1px solid red;
margin:5px;
padding:5px;
}
.prod-cell
{
display: table-cell;
float:left;
padding:5px;
}
.spread-image
{
display: block;
width: 100%;
height: auto;
max-height: 200px;
}
HTML如下:
<div class='spread-table'> <-- this loops for categories
<div class='spread-cell'> <-- this loops for image in categories
<div style='position:relative;'>
<img src="{{image.url}}" class='spread-image'>
</div>
</div>
<div class='clearfix'></div>
<div style='text-align:center'><strong>View More</strong></div>
</div>
这似乎可以正确浮动图像,但是有时我会遇到一种情况,即类别 div 换行到下一行,但不是从左端开始,而是在行中间的某个位置。像这样:
[---category 1---] [-category 2-] [----category 3----] [--category 4--]
[---category 5---] [-category 6-] [---category 7---]
[-----category 8----] [---category 9---] [-category A-] [---category B---]
[-category C-] [-category D-] etc
我添加了破折号来表示不同的类别有不同的宽度。在上面的布局中,您可以看到第一行和第三行正确换行,而第二行和第四行未正确换行。
当category 5 和category C 换行不正确时,您可以看到它们与上一行中的一个类别 div 对齐。在此示例中,category 5 与上一行中的第二个 div 对齐,category C 与第三个 div 对齐。
我想这可能是一个小修复,与 CSS 相关的一些奇怪的东西,但我无法弄清楚。非常感谢任何帮助!
【问题讨论】:
-
发布实际的 HTML,而不是一些模板化的表示。
-
stackoverflow.com/questions/16820873/… ?这个问题和答案解释了你所说的空白,请阅读我的答案以获得简短的解释。
-
不看实际的html,我会说你的一些块可能有不同的高度
-
显示:表格/表格单元和浮动:左?加上一个clearfix?加上一个显示块(“查看更多”)?我不知道这应该如何表现,但我很确定答案是“糟糕”