При создании двухколоночного макета вы можете использовать множество подходов, а в некоторых случаях - множество ошибок.
Базовый подход для простых макетов, где вы хотите воспроизвести структуру, похожую на таблицу, может использовать этот подход
<div class="outer">
<div class="row"><label>Name:</label><p>Content</p></div>
<div class="row"><label>Name2:</label><p>Content</p></div>
</div>
Вы можете оформить его следующим образом:
.outer { width: 800px;}
.outer .row { float: left; width: 100%; overflow: visible;}
.outer .row label { width: 100px; float: left; }
.outer .row p { width: 700px; float: left; margin: 0;}
Это дает вам макет с двумя столбцами, с label
s слева и p
s справа. Примечание: и label
, и p
плавают влево, потому что вы всегда хотите, чтобы они касались независимо от ширины контейнера.
Если вы хотите, чтобы макет был более плавным при изменении размера, вам нужно изучить более продвинутые методы. В конечном счете, очень трудно воспроизвести полный рендеринг макета таблицы без использования table
, если вы не используете display: table
, display: table-cell
и т. Д. (Которые не работают в IE 6 или 7).
Для вашего примера вы можете заменить p
на div
; ключ, однако, заключается в том, чтобы поместить все содержимое левой стороны в один и тот же контейнер, чтобы он был правильно выровнен с соответствующим label
.