![]() | ![]() |
|
Нужен сайт или скрипт?
Последние статьи
|
Верстка блоками DIVВерстка блоками DIV имеет ряд преимуществ по сравнению с табличной версткой. Верстка блоками DIV обеспечивает более быструю загрузку страницы сайта, содержимое блоков DIV отображается по мере загрузки (в отличие от таблицы, в которой содержимое не отобразиться до тех пор, пока все ее содержимое не загрузиться), код страницы удобочитаем. Но и блочная верстка не идеальна, есть и недостатки. Так нельзя получить представление данных как это делает таблица. То есть таблицы нужно использовать для отображения табличных данных. Табличную верстку также можно использовать и для задания структуры страницы, но злоупотреблять все, же не стоит. Давайте посмотрим, как можно управлять положением блока DIV на странице сайта. Для начала рассмотрим стилевое свойство float, которое управляет позиционированием перемещаемого блока. Свойство float может принимать значения
Код <div style="background:#FA911D;">1</div> <div style="background:#0080C0;">2<br>text<br>text</div> <div style="background:#80FF00;">3<br>текст</div> 1
2
text text 3
текст Все три блока располагаются один под другим и имеют ширину равную ширине окна браузера (или ширине HTML-элемента страницы, с этим кодом). Теперь изменим ширину каждого блока DIV. Код <div style="background:#FA911D; width:240px;">1</div> <div style="background:#0080C0; width:150px;">2<br>text<br>text</div> <div style="background:#80FF00; width:130px;">3<br>текст</div> 1
2
text text 3
текст Ширина блоков будет у каждого своя, но располагаться будут также один под другим. Далее каждому блоку укажем стилевое свойство float со значение left: Код <div style="background:#FA911D; width:240px; float:left;">1</div> <div style="background:#0080C0; width:150px; float:left; ">2<br>text<br>text</div> <div style="background:#80FF00; width:130px; float:left;">3<br>текст</div> 1
2
text text 3
текст Ширина у блоков осталась такая же, как и в предыдущем примере, но свое положение они изменили: выстроились в один горизонтальный ряд. Если добавить еще один блок, то он отобразится не под записанными ранее блоками, а по-другому. В общем случае определить, как отобразится его содержимое, нет возможности. Код <div style="background:#FA911D; width:240px; float:left;">1</div> <div style="background:#0080C0; width:150px; float:left; ">2<br>text<br>text</div> <div style="background:#80FF00; width:130px; float:left;">3<br>текст</div> <div style="background:#36E065;">4<br>контент<br>контент<br>контент</div> 1
2
text text 3
текст 4
контент контент контент Чтобы новый блок располагался ниже предшествующих блоков, нужно задать ему свойство clear, с соответствующим значением, в нашем случае можно задать значение либо both, либо left: Код <div style="background:#FA911D; width:240px; float:left;">1</div> <div style="background:#0080C0; width:150px; float:left; ">2<br>text<br>text</div> <div style="background:#80FF00; width:130px; float:left;">3<br>текст</div> <div style="background:#36E065; clear:left;">4<br>контент<br>контент<br>контент</div> 1
2
text text 3
текст 4
контент контент контент С помощью приведенных свойств создают структуры страницы различной сложности, в том числе состоящих из трех столбцов, с резиновыми либо c фиксированными размерами. Верстка блоками DIV предусматривает также и центрирование блока div в каком-либо элементе HTML-кода. Для центрирования блока в браузерах Opera и Firefox нужно использовать свойства margin-left и margin-top со значением auto, например Код <div style="margin-left: auto; margin-right: auto; width: 50%;"> содержимое блока DIV </div> Код <div style="text-align:center;"> <div style="width: 50%;"> Содержимое блока DIV </div> </div> В общем случае для центрирования блока DIV получим код, который будет одинаково отображаться в различных браузерах Код <div style="text-align: center;"> <div style="width: 50%; margin-left: auto; margin-right: auto; "> Содержимое блока DIV </div> </div>
При абсолютном, относительном и фиксированном позиционировании блоки могут накладываться друг на друга, и в этом случае может появиться вопрос, какой из них окажется "выше"? То есть, какой элемент будет отображаться, а какой будет перекрываться находящимся "выше" блоком. Решить этот вопрос поможет свойство z-index. Оно определяет позицию уровня, которую будет занимать блок. Его значением может быть любое положительное или отрицательное целое число. При этом элементы с большим значением z-index будут перекрывать блоки с меньшим значением этого свойства. Для иллюстрации описанных выше свойств рассмотрим пример. Создадим несколько блоков без свойств позиционирования. Код <div style="background:#A485B8;">1<br>text</div> <div id="dopoln_block"> <div style="background:#66AAD7; width:200px;">2<br>текст</div> </div> <div style="background:#C6C600;">3<br>содержимое</div> Код <div style="background:#A485B8;">1<br>text</div> <div id="dopoln_block"> <div style="background:#66AAD7; width:200px; position: relative; top:10px; left:10px;">2<br>текст</div> </div> <div style="background:#C6C600;">3<br>содержимое</div> Код <div style="background:#A485B8;">1<br>text</div> <div style="position:relative;" id="dopoln_block"> <div style="background:#66AAD7; width:200px; position: absolute; top:10px; left:10px;">2<br>текст</div> </div> <div style="background:#C6C600;">3<br>содержимое</div> В завершение темы "Верстка блоками DIV", приведу шаблон, который позволяет получить очень распространенную схему верстки: вверху страницы заголовок, далее три колонки с основным содержимым страницы и внизу страницы блок, обычно содержащий информацию о копирайте. Причем нижний блок будет находиться в низу страницы даже при малом количестве содержимого на странице. Также две колонки (левая и правая) из трех с основным содержимым будут с фиксированными размерами, а средняя будет "резиновая", то есть она будет менять ширину в зависимости от разрешения экрана монитора. Пример можно посмотреть на странице шаблон. Код <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Шаблон верстки страницы из 3 колонок</title> <style type="text/css"> * { margin:0px; padding:0px; } html { height:100%; } body { min-height:100%; position:relative; min-width:800px; } * html body { height:100%; } #header { background:#9393FF; height:70px; width:100%; } #content { width:100%; padding-bottom:60px; width:expression(document.body.clientWidth > 800 ? "100%" : "800px"); } #container1 { width:100%; float:left; margin-right:-180px; } #container2 { background:#000000; margin-right:180px; } #container3 { width:100%; float:right; margin-left:-200px; } #left { background:#AEAE00; width:200px; float:left; } #center { background:#D86927; margin-left:200px; } #right { background:#C0C0C0; float:right; width:180px; } #min_width { width:800px; } #footer { position:absolute; bottom:0px; background:#8F9EB1; width:100%; height:60px; } </style> </head> <body> <div id="header">Заголовок страницы</div> <div id="content"> <div id="container1"> <div id="container2"> <div id="container3"> <div id="center">Центральная колонка</div> </div> <div id="left">Левая колонка</div> </div> </div> <div id="right">Правая колонка</div> </div> <div id="footer">Копирайт</div> </body> </html> Предыдущие статьи |
Новости сайта Облако тегов css div document.write font html html-форма img indexof innerhtml input javascript onclick xhtml бесплатная cms гиперссылка дата дизайн динамические эффекты домен меню оптимизация раскрутка сайта сайт скрипт доски объявлений создание сайт создать сайт создать сайт бесплатно таблицы тема управление cms хостинг часы Также интересно будет посмотреть
Плюс Текст - веб-сервис для тех, кто регистрирует в ручную сайты в белых каталогах или размещает объявления.
|