将div元素在下一个和另一个下方对齐

时间:2010-09-02 07:31:19

标签: css html

我想对齐4个div框,以便它们像2x2布局一样

1 2
3 4

我的代码看起来像这样

<div style="width:300px;height:300px;float:left;">    DIV 1    </div>

<div style="width:300px;height:300px;float:left;">    DIV 2    </div>

<div style="width:300px;height:300px;clear:left;">    DIV 3    </div>

<div style="width:300px;height:300px;float:left;">    DIV 4    </div>

产生以下布局:

1 2
3
4

有人可以帮我这个吗?

3 个答案:

答案 0 :(得分:27)

给所有人float: left,然后将它们包装在一个足够宽的容器中,以适应其中的两个,以便其他两个被推下来。例如,

<div id="container">
  <div>Div 1</div>
  <div>Div 2</div>
  <div>Div 3</div>
  <div>Div 4</div>
</div>

CSS:

#container {
  width: 600px;
}

#container div {
  float: left;
  height: 300px;
  width: 300px;
}

修改:如果你想在你已经拥有的div内有更多<div id="container"> <div> <div>Inner Div 1</div> <div>Inner Div 2</div> <div>Inner Div 3</div> <div>Inner Div 4</div> </div> <div>Div 2</div> <div>Div 3</div> <div>Div 4</div> </div> ,那么你总是可以对孩子们应用相同的技术,比如

#container div div {
  float: left;
  height: 150px;
  width: 150px;
}

然后使用CSS,使用以下附加样式:

{{1}}

答案 1 :(得分:13)

Div 3 <div style="width:300px;height:300px;clear:left;">替换为<div style="width:300px;height:300px; clear:both; float:left">

完整的HTML

<div style="width:300px;height:300px;float:left;">
    DIV 1
</div>

<div style="width:300px;height:300px;float:left;">
    DIV 2
</div>

<div style="width:300px;height:300px; clear:both; float:left">
   DIV 3
</div>

<div style="width:300px;height:300px;float:left;">
   DIV 4
</div>

答案 2 :(得分:1)

你可以用这个来实现它:

<body style="width:600px; height:600px;">
<div id="container">
    <div style="width:50%; height:50%;float:left;">
    DIV 1
</div>

    <div style="width:50%; height:50%;float:left;">
    DIV 2
</div>

    <div style="width:50%; height:50%; float:left;">
    DIV 3
</div>
    <div style="width:50%; height:50%;float:left;">
    DIV 4
</div>

</div>
</body>

显然,将样式信息放在CSS文件而不是HTML中。

我会尽量避免设置宽度和宽度。高度到特定大小,除非你根本无法避免它。在不同分辨率的不同浏览器上查看时会导致很多问题。