На простой вопрос, можно ли с помощью position:fixed; создать полноценную web-страницу - большинство продвинутых верстальщиков без особых раздумий, дадут отрицательный ответ. И будут правы.
Собственно о трудностях прямого использования position:fixed; писал не однократно, ничего не изменилось, и ждать в этом смысле каких либо подвижек не приходится, скорее всего, фиксация блоков на web-странице так и останется экзотикой.
Как иллюстрация выше сказанному пара примеров.
html-код не сложен, тоже самое относится к стилям описывающими его поведение.
<body> <div id="content"> <div class="content">…</div> </div> <div id="fixed"> <div class="content">…</div> </div> <div class="fixed_scroll"></div> <div class="fixed_scroll no"></div> </body> * {margin:0;padding:0;} html,body {background-color:#669;height:100%;} html {overflow:hidden;} #content,#fixed { background-color:#666;border:#ccc 1px solid; color:#fff;position:fixed;top:0;bottom:0;z-index:10; overflow:hidden;padding:10px 0; } #content {right:278px;min-width:600px;max-width:74%;} #fixed {right:30px;width:240px;} .fixed_scroll { background-color:#666;position:fixed;top:3px; right:279px;bottom:3px;z-index:100;width:20px; } .no {right:31px;} .content {overflow:auto;height:100%;} *html #content, *html #fixed, *html .fixed_scroll {position:absolute;height:100%;} *html #content {width:74%;} *html .fixed_scroll {padding-bottom:10px;}
Идеология разметки заключается в следующем:
О недостатках подтверждающих, что подобного рода разметка относится к классу экзотики:
В следующем примере центральная колонка разбита на две части. Ей же указана фиксированная ширина, что несколько улучшает ситуацию по контролю над шириной оной, взамен добавляя головную боль – чем заполнить пустоту в левой части рабочей области браузера, как при изменении разрешения экрана монитора, так и в случае если диагональ монитора зашкаливает.
Не смотря на очевидные достоинства – минимум html-кода и css, вывод напрашивается сам собой, разметка web-страницы на основе position:fixed; чистой воды экзотика и для этих целей надо смотреть в сторону position:absolute;.
Не большое усложнение разметки в данном случае, полностью устраняет все недостатки присущие position:fixed;.
Одна из последних публикаций на тему и практическая реализация в действии.
Горизонтальный banner counters.php - width:494px;
| август, 2010 | ||||||
| пн | вт | ср | чт | пт | сб | вс |
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 | |||||