Ви можете отримати стовпці однакової висоти в CSS, застосувавши нижню прокладку великої кількості, нижню відмінність на ту саму суму та оточуючи стовпчики з перекриттям, що перекрито. Вертикальне центрування тексту трохи складніше, але це повинно допомогти вам в дорозі.
#container {
overflow: hidden;
width: 100%;
}
#left-col {
float: left;
width: 50%;
background-color: orange;
padding-bottom: 500em;
margin-bottom: -500em;
}
#right-col {
float: left;
width: 50%;
margin-right: -1px; /* Thank you IE */
border-left: 1px solid black;
background-color: red;
padding-bottom: 500em;
margin-bottom: -500em;
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head></head>
<body>
<div id="container">
<div id="left-col">
<p>Test content</p>
<p>longer</p>
</div>
<div id="right-col">
<p>Test content</p>
</div>
</div>
</body>
Я думаю, що це варто згадати попередня відповідь streetpc має недійсний html, тип документа - XHTML і навколо атрибутів є одиничні лапки. Також варто зазначити, що цевам не потрібен додатковий елемент з clear
на, щоб очистити внутрішні поплавці контейнера. Якщо ви використовуєте приповнений переповнення, це очищає поплавці у всіх браузерах, які не входять до IE, а потім просто додає щось, щоб надати hasLayout, такі як ширина або масштабування: 1 призведе до того, що IE очистить його внутрішні плавки.
Я перевірив це у всіх сучасних браузерах FF3 + Opera9 + Chrome Safari 3+ та IE6 / 7/8. Це може здатися потворним трюком, але він працює добре, і я його дуже багато використовую у виробництві.
Я сподіваюся, що це допомагає.