Сегодня мы продолжим эксперимент с раскрашиванием колонок web страницы. В прошлый раз мы создали страницу с тремя колонками и задали для центральной колонки один фоновый цвет, а для правой и левой – другой.
Естественно, не очень удобно, что боковые колонки всегда одного и того же цвета. Исправляем этот недостаток.
Напомню, главная проблема заключается в том, что колонки имеют разную длину, которая может изменяться. Поэтому использовать свойство background-color колонок мы не можем.
В прошлый раз с помощью дополнительного блока (<div id="mfooter"></div>) мы растянули центральную колонку так, что она стала длиннее боковых колонок.
Таким образом, мы смогли задать фон для центральной колонки, а для боковых колонок использовался фоновый цвет, заданный для тега <body>.
Основное достоинство этого приема в том, что разметка страницы остается практически неизменной. Но сейчас придется немного усложнить разметку.
Идея очень простая. Добавим дополнительный блок (container), внутри которого будут находиться левая и центральная колонки.
<body> <div id="header">Заголовок</div> <div id="rightbar">Правая колонка<br />Правая колонка<br /></div> <div id="container"> <div id="leftbar">Левая колонка</div> <div id="middlebar"> Центральная колонка <div id="mfooter"></div> </div> </div> <div id="footer">Хвостовик</div> </body>
Теперь мы можем задать фон левой колонки, используя свойство background-color контейнера, а правая колонка будет иметь цвет фона, заданный в свойстве background-color тега <body>.
Посмотрите на таблицу стилей.
body {
margin: 0;
color: #263b56;
background-color: #b8a928;
font-family: Verdana, sans-serif;
}
#header {
margin: 0;
color: #ffffff;
padding: 5px 5px 5px 5px;
background-color: #3b4d73;
}
#rightbar {
margin: 0;
padding: 5px 5px 5px 5px;
float: right;
width: 30%;
}
#container {
margin: 0;
background-color: #96af39;
width: 65%;
}
#leftbar {
padding: 5px 5px 5px 5px;
margin: 0;
float: left;
width: 40%;
}
#middlebar {
margin: 0px 0px 0px 45%;
padding: 5px 5px 5px 5px;
background-color: #d6d279;
}
#mfooter {
clear: both;
}
#footer {
margin: 0;
color: #ffffff;
padding: 5px 5px 5px 5px;
background-color: #3b4d73;
}
Мы задали ширину контейнера так, чтобы он вмещал левую и центральную колонки (строки 24). Кроме того, мы установили правый отступ у центральной колонки равным нулю (строка 35), т.к. край этой колонки должен совпадать с правым краем контейнера.
Если вы посмотрите стили левой колонки в прошлом примере, то заметите, что в этот раз ее ширина увеличилась вдвое. Ничего удивительного, сейчас ширина колонки составляет 40% ширины контейнера, а в прошлый раз – 20% окна браузера. Учитывая, что ширину блока container мы задали равной 65% ширины окна браузера, то получается примерно одинаково.
Взгляните на скриншот в начале страницы. Как я и говорил, цвет левой колонки задается свойством background-color блока container (строка 23). Цвет правой – свойством background-color тега <body> (строка 4). А цвет центральной – ее собственным свойством background-color (строка 37).
Если возникли проблемы, скачайте архив с исходными файлами этого примера, и откройте в браузере html файл.
Интересно почитать
Оригинальные запчасти под заказ в Минске


