【发布时间】:2013-06-13 16:07:08
【问题描述】:
我敢打赌,这个问题以前被问过好几次,但我找不到答案。不是这里或谷歌。我想这说明了我的前端(和搜索?)技能。
因此,对于预期的已经回复的帖子表示歉意。
我的问题是我有一个 980 像素的 div,我想用其他较小的 div 填充。假设较小的 div 是 180 像素宽,我有 7 个。那么它应该是 2 行小 div,它们之间有 20 个像素,第一行应该是 5,下一行应该是 2。
一种方法是将它们设置为float: left 并具有margin-left: 20px。这将如何以 1000 像素(20 到宽)的总行结束,这将导致第一行有 4 个 div,第二行有 3 个。
一种尝试是在容器上设置margin-right:-20px,但它确实(不是那么意外)不起作用。
欢迎任何帮助或答案链接!
编辑: 我意识到我的问题并不是很清楚。容器也将是可调整的,因此较小的 div 应该只填充容器中的空间,第一个在行上的左 0px 和行上的最后一个将是从右开始的 0px。之间的 div 应该只是自动调整。我只为一行问题找到了这样的东西。如果较小的 div 之间的边距小于 1 像素,我也会更喜欢它打破行直到下一行。
编辑 2: 我为我的问题做了一个jsfiddle。绿色框应自动填充灰色区域(水平方向,垂直边距可以是给定值,例如 15/20 像素)。
【问题讨论】:
-
您正在寻找的是折叠边距,尽管水平折叠边距不存在(除了在表格中,但这对您没有帮助)。 w3.org/TR/CSS21/box.html#collapsing-margins 你很可能必须使用 javascript 来实现这个目标。
标签: css css-float containers margin