没有多余的HTML标记 - 但一类变化& 无伪元素
一个简单的技巧这可能应该工作为你: http://jsbin.com/owejal/65/edit
截图:
将与节点:)的所有可能的数工作
<div class="foo"></div>
<div class="group">
<div class="node"></div>
<div class="node"></div>
<div class="node"></div>
<div class="node"></div>
<div class="node"></div>
<div class="node"></div>
<div class="node"></div>
</div>
<div class="foo2"></div>
CSS:
.group { overflow: hidden; margin: 20px; margin-bottom:0px; /* margin is required */ background: #666; }
.node { width: 100px; height: 100px; float: left; background: #333; margin: 0px 20px 20px 0px; /* there must 20px gap between every node, but not the container */ }
.foo { height: 20px; background: #00f; margin: 20px;}
.foo2{
height:20px;
background:#00f;
border-top:20px solid white;
margin:20px;
margin-top:-20px;
}
是各种宽度的'。集团'容器是你想要解释的吗?例如,总是会有3个以下的元素和4个以上的元素?或者你更喜欢这个在飞行中适应? –
子元素的数量及其维度事先未知。 – Gajus
据我所知,这不能在纯css中完成,因为没有办法让css知道孩子什么时候会换行到新行 – Muleskinner