【发布时间】:2014-06-13 06:39:44
【问题描述】:
有哪些技术可以创建在每个项目之间具有填充但仅在网格内的产品网格?例如,我想要达到的目标如下:
示例标记:
<div id="container">
<div class="item">
<!-- content -->
</div>
</div>
CSS:
#container { width: 100%; min-width: 960px; }
.item { float: left; width: 300px; height: 100px; }
(在上面,.item 将被输出 9 次)。
解决方案需要与 IE8+ 兼容,并且最好使用非 hack 的技术。我曾尝试将 display: table 与 border-spacing 属性一起使用 - 但这也会输出外侧的填充。
我知道我还可以为项目添加特定的类来控制是否为该项目显示填充,但我希望有一个更“自动化”的解决方案。
编辑:应动态计算填充宽度,例如,如果容器为 960 像素,则填充将是 30 像素宽。
其次,如果最后一行的项目少于 3 个,则这些项目不应出现在该行的中心,即如果只有两个项目,那么最后一个“单元格”应该是空的。
编辑:到目前为止,所有解决方案都坚持指定间隙/填充的宽度。 我想动态计算填充。我需要指定的唯一宽度是.item,目前是固定的300px。
【问题讨论】:
-
我刚刚意识到我的答案不符合您的要求...这更适合您吗? jsfiddle.net/webtiki/USNMK/8
-
你好网络提基。我以前见过这种技术 - 除了最后一行的项目较少之外,它工作得很好,它们不会彼此对齐。
标签: html css responsive-design grid-layout fluid-layout