2

是否可以仅在浮动 div 之间创建边距,而 parent 两侧没有边距

所以基本上:

no margin <div> |margin| <div> |margin| <div> |margin| <div> no margin
no margin <div> |margin| <div> |margin| <div> |margin| <div> no margin
no margin <div> |margin| <div> |margin| <div> |margin| <div> no margin
no margin <div> |margin| <div> |margin| <div> |margin| <div> no margin
no margin <div> |margin| <div> |margin| <div> |margin| <div> no margin

像那样。

4

2 回答 2

4

使用first-childlast-child选择器分别指定无左边距/右边距:

http://jsfiddle.net/ExplosionPIlls/bzSgp/1

如果您在第一个/最后一个 div 之间有其他元素,则可以使用first-of-type/last-of-type代替。

于 2013-02-16T20:49:58.773 回答
3

抱歉,要挖掘那个,但它只是在谷歌搜索该主题后才出现:

这就是为什么我想指出,当包含元素的宽度已知时,只有 CSS 解决方案在包装 DIV 上使用负边距(我在这里主要使用百分比

.wrapper { 
    margin: -1em;
    overflow:hidden; /* or other clearfix if you need overflow */
}
.item {
    margin: 1em;
    float:left;
    /* ... */
}

我还准备了一个快速演示笔

例如,Bootstrap的网格系统以类似的方式工作!

--

这种方法的一大优点是,您不必确切知道一行中可以容纳多少项目(就像您必须知道的 :nth-child() 方法一样)。因此,对于不同的屏幕尺寸,处理起来要容易得多。

于 2015-02-16T13:13:08.777 回答