我DIVs
彼此side by side
&但只有fourth DIV
出现在第一个row
&其他人也会转移到下一个row
。
我希望每个row
first div
不占用left side
的空格但未发生。这是我的代码
我知道我可以通过向class
提供new row DIV
手册来实现这一目标,但我不想这样做。我想用更少的css&我不想改变我的markup
注意:我想要能力直到IE8。
提前致谢:)
更新:
首先,.parent
div是common class
,其他部分也使用了parent DIVs
&根据设计的第二件事row last div
触及{{1}}因此,右侧没有空间。
答案 0 :(得分:5)
建议A:
将margin-left:-16px
添加到父
演示:http://jsfiddle.net/25pwG/1/
建议B:
在内部div上使用margin-right: 16px
,而不是margin-left
演示:http://jsfiddle.net/25pwG/4/
建议C:
如果父div宽度是固定的,您可以删除每个4th child上的边距,如下所示:
.feature:nth-child(4n){
margin-right:0px;
}
演示:http://jsfiddle.net/25pwG/15/
建议d:
将内部div包装在一个包装器中,并将其设置为比父div
更宽答案 1 :(得分:1)
避免使用负边距和填充。在要素类中使用margin-right:16px
并删除 .feature + .feature 类。
所以你的CSS将是
.parent{
width:480px;
}
.feature{
width:100px;
height:100px;
background:red;
display:inline-block;
margin-bottom:10px;
margin-right:16px;
}
答案 2 :(得分:0)
.parent{
width:480px;
text-align: center;
}
.feature{
width:100px;
height:100px;
background:red;
display:inline-block;
margin:0 6px 10px;
}
我建议尝试这个。使用负值可能会在以后导致一些问题。所以尽量避免使用它。
答案 3 :(得分:0)
这很简单,只需从
更改.feature + .feature { margin-left:16px; } /*Remove this*/
到
.feature { margin-right:16px; }