Выровняйте элементы div рядом и друг под другом
Я хочу выровнять 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
Может кто-нибудь мне помочь?
Ответы
Ответ 1
Дайте все из них float: left
, затем оберните их в контейнер, достаточно широкий, чтобы соответствовать 2 из них, так что остальные два будут нажаты. Например,
<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>
Затем с помощью CSS используйте этот дополнительный стиль:
#container div div {
float: left;
height: 150px;
width: 150px;
}
Ответ 2
замените <div style="width:300px;height:300px;clear:left;">
на Div 3 на <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>
Ответ 3
Вы можете достичь этого, используя это:
<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.
Я попытался бы избежать установки ширины и высоты до определенного размера, если вы просто не сможете этого избежать. Это вызывает множество проблем при просмотре в разных браузерах при разных разрешениях.