【发布时间】:2016-01-08 09:28:42
【问题描述】:
以下示例显示左右浮动的 div 具有两种不同的容器宽度。
对于大容器(或大窗口),左浮动的div贴在左边框,右浮动的div贴在右边。
当容器很大时,有没有办法强制 div 粘在一起(在容器中水平居中)?请注意,不能选择固定容器或任何 div 的宽度。
理想情况下,我想避免使用 javascript。
.container {
display: inline-block;
border: 1px solid black;
}
.inner1 {
float: left;
background-color: #aff;
}
.inner2 {
float: right;
background-color: #ffa;
}
.inner3 {
float: left;
background-color: #faf;
}
First example with wide container<br />
<div class="container" style="width:400px">
<div class="inner1"><---------- First</div>
<div class="inner2">Second
<br />--------
<br />------</div>
<div class="inner3">Third ----------</div>
</div>
<br />
Second example with small container<br />
<div class="container" style="width:100px">
<div class="inner1"><---------- First</div>
<div class="inner2">Second
<br />--------
<br />------</div>
<div class="inner3">Third ----------</div>
</div>
编辑: 我使用浮点数的原因是为了防止 div 的默认排序。当非浮动时,它们的顺序是从左到右或从上到下,或两者兼而有之。这种排序有时会防止有用空间被填充。例如,想象 div1 宽但不高,而 div2 又瘦又高。如果屏幕足够大,则 div2 将位于 div1 的右侧。 div1 下方和 div2 左侧将有很多空间。我想把 div3 放在那个空间里。但是由于排序的原因,div3 会在 div2 的右侧或下方。
为了解决这个问题,我使用了浮动 div,但它产生了我最初所说的另一个问题:浮动左/右使 div 在大屏幕上分开。
如果不用浮点数也能解决问题,那就最好了。
【问题讨论】:
-
为什么一定要避免使用javascript?