JobHub.ru — система автоматизации и управления бизнесом

Резиновая по ширине верстка

В этом посте будет описано как сделать резиновую по ширине верстку. Будут примеры двухколоночных и трехколоночных дизайнов

Первым примером будет верстка резинового двухколоночного дизайна с левым сайдбаром. Метод простой и старый как мир. В его основе лежат отрицательные поля. И так, приступим:

<div class="main">
	<div class="maincontent">
		правая колонка
	</div>
</div>
<div class="sidebar">
	левая колонка
</div>
<div class="clear"></div>
.clear {
	clear:both;
}
.main {
	float:right;
	width:100%;
	margin-left:-250px;
	background:blue;
}
.maincontent {
	margin-left:250px;
}
.sidebar {
	float:left;
	width:250px;
	background:red;
}

Как это будет выглядеть можно увидеть на скриншоте:

Резиновая верстка с фиксированной левой колонкой

Вот и все. Для нагладности у колонок сделан красный и синий фон

Теперь поменяем местами сайдбар и основную колонку. Изменения нужно производить только в файле стилей

.clear {
	clear:both;
}
.main {
	float:left;
	width:100%;
	margin-left:-250px;
	background:blue;
}
.maincontent {
	margin-left:250px;
}
.sidebar {
	float:right;
	width:250px;
	background:red;
}

Следующим нашим шагом будет верстка резинового трехколоночного дизайна

<div class="sidebarleft">
	левая колонка
</div>
<div class="sidebarright">
	правая колонка
</div>
<div class="main">
	центральная колонка
</div>
<div class="clear"></div>
.clear {
	clear:both;
}
.sidebarleft {
	float:left;
	width:250px;
	background:red;
}
.sidebarright {
	float:right;
	width:250px;
	background:green;
}
.main {
	background:blue;
	margin:0 260px;
}

Комментарии

Игорь
|
14 Сентябрь 2010 в 17:53

Как бы все хорошо, но есть условия при которых подобные верстки разваливаются! Например, пока не смог дивами сверстать кроссбраузерный 2х-колоночный макет (хотябы EI6-8,O10,FF3.5), чтоб в случае появления горизонтальной оси прокрутки из-за контента страницы все было Ок, т.е. когда общая ширина сайта больше экранной! Не пробовали? Весьма нетривиальная задача. Для справки, без IE6-7 задача намного упрощается.

ОтветитьОтветить
|
14 Сентябрь 2010 в 20:07

ничего не понял. Переформулировать можно?

ОтветитьОтветить
Антон
|
13 Июль 2011 в 9:48

Попробуйте в IE уменьшить ширину окна, и все криво поедет. Поплывут один div под другой. Так что так не катит.

ОтветитьОтветить
|
17 Декабрь 2011 в 16:47

@Антон:
У меня нет такого бага, работает корректно. Большое спасибо за метод, давно мучил этот вопрос)

ОтветитьОтветить

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

Разрешенные теги: a (href, title), b, i, strike.


Ваше имя *

E-mail (не публикуется) *

Адрес блога

Комментарий *