我有一个固定宽度的容器<div>
,它显示一个或多个小部件<div>
。我希望它看起来像这样:
&lt; - 灰色块是小部件,红色边框是容器
简化,我在HTML中的结构如下所示:
<div id="container">
<div id="widget1">1</div>
<div id="widget2">2</div>
<div id="widget3">3</div>
<div id="widget4">4</div>
<div id="widget5">5</div>
<div id="widget6">6</div>
<div id="widget7">7</div>
</div>
考虑
由于考虑 4。我无法分配额外的标记,例如行div,类(.first-child,.last-child)和 2。 :nth-child
将不起作用AFAIK。
我尝试过的事情
使用:first-child
设置margin-left: 0
的小部件上的margin-left将无法正确显示新行。
在:last-child
设置margin-right: 0
的小部件上margin-right第一行强制容器div加宽last-child isn't supported until MSIE9。
相等的左右边距(例如边距:0 5px 10px)会再次迫使容器变宽。
溢出 - 在我脑海里工作得很好!与边距或填充无关。
有没有办法在CSS中执行此操作?
答案 0 :(得分:5)
我相信你的想法太复杂了: - )
如果我理解正确,您不需要对单独的小部件进行任何特殊处理。只需给小部件提供一半间距的边缘,并且容器具有相同的余量但是为负。
#container {
width: 440px;
margin: -5px;
}
#container div {
background-color: gray;
height: 100px;
width: 100px;
float: left;
margin: 5px;
}
答案 1 :(得分:0)
设置容器宽度400,第一个div宽度200向左浮动,休息宽度100向左浮动