Трехколоночный макет на div с одинаковой высотой

И немного рекламы:

Не секрет, что блоки div по умолчанию растягиваются по ширине на 100%, а по высоте только до размера содержимого. Я искал решение этой проблемы, находил различные варианты, но только один из них смог достаточно хорошо справиться с этой задачей.


А задача заключалась в следующем:

Ниже представляю вам макет из трех колонок. Смотрим код css:

.cols{
	width: 1000px;
	margin-left: auto;
	margin-right:auto;
    overflow:hidden;
    _zoom:1;/*Для 6-го IE, задаем hasLayout*/
}
.cols .col1,.cols .col2,.cols .col3{
     padding-bottom:10000px;
     margin-bottom:-10000px;
}

.col1  {
	background-color: green;
	float:left;
	width: 300px;
	overflow:hidden;
	position:relative;
}

.col2 {
	background-color:blue;
	float:left;
	width: 400px;
	overflow:hidden;
	position:relative;

}

.col3  {
	background-color:yellow;
	float:left;
	overflow:hidden;
	width: 300px;
	position:relative;

}

Здесь .cols — контейнер для трех колонок с суммарной шириной этих колонок. А фокус заключается в задании div свойств:

.cols {
	overflow:hidden;
}
.всем_остальным {
	padding-bottom: 10000px;
    margin-bottom: -10000px;
}

Этот код растягивает блоки div до высоты контейнера. В свою очередь высота контейнера задается самой высокой колонкой. HTML-код выглядит следующим образом:

<html>
<head>
<style type="text/css">
.cols{
	width: 1000px;
	margin-left: auto;
	margin-right:auto;
    overflow:hidden;
    _zoom:1;/*Для 6-го IE, задаем hasLayout, на эту тему есть много постов на хабре*/
}
.cols .col1,.cols .col2,.cols .col3{
     padding-bottom:10000px;
     margin-bottom:-10000px;
}

.col1  {
	background-color: green;
	float:left;
	width: 300px;
	overflow:hidden;
	position:relative;
}

.col2 {
	background-color:blue;
	float:left;
	width: 400px;
	overflow:hidden;
	position:relative;

}

.col3  {
	background-color:yellow;
	float:left;
	overflow:hidden;
	width: 300px;
	position:relative;

}
</style>

</head>
<body>
	<div class="cols">
		<div class="col1">
			Департамент градостроительства при текущем ремонте не планирует обустраивать велоструктуру на улицах, которая предусмотрена в ходе капитального ремонта.
		</div>
		<div class="col2">Львовские велосипедисты давно ждут постройки велосипедных дорожек в городе. Эти надежды приобрели реальные очертания в 2007-м году, когда Львов попал в число городов-хозяев Чемпионата Европы по футболу 2012-го года. Городские чиновники обещали, что в ходе ремонта улиц, который будет проводиться в рамках подготовки к Чемпионату, сразу оборудуют и велоструктуру.
		</div>
		<div class="col3">Привет пользователь!</div>
	</div>
</body>
</html>

Удачной вам верстки.

видеонаблюдение

Популярность: 8%

Нет похожих тем

Теги: ,

Если у вас возникли вопросы, вы можете оставить их в комментариях

Комментарии к статье

4 Ответов на “Трехколоночный макет на div с одинаковой высотой”

Оставить комментарий

(обязательно)

(обязательно)