position:fixed; - лучшая проверка на вшивость
Внимательный читатель, прочитав начало предыдущего поста, может заподозрить, а нет или здесь подвоха, блог посвященный практике html и css вдруг прошелся по софту никакого отношения, не имеющего к верстке. Да нет товарищи и примкнувшие к ним господа :) Блог ни в коем случае не сменил своей ориентации, что очень модно на сегодняшний день, все гораздо проще.
Софт для верстальщика, а конкретно, великое многообразие браузеров, понятно, будем говорить только о наиболее популярных, не может оставить равнодушным к их многочисленным выкрутасам, исправно переходящими из версии в версию.
Но прежде чем перейти к основному вопросу, стоит остановиться на некоторых аспектах прямо или косвенно затрагивающего любого верстальщика. Тут бы в пору закричать: «О бедном верстальщике замолвите слово…», но это как вы понимаете для большинства пользователей INTERNET-а не существенно, поэтому и не будем подробно останавливаться на данном факте.
Головной болью верстальщика помимо софта, является и железо. Имею в виду мониторы, которые стоят на вооружении посетителей, заказчиков и прочих клиентов и какой монстр используется для просмотра сайтов, сверстанных вашими руками вы не знаете, статистика статистикой, но вы не силах, что-либо исправить и изменить.
А так, как тенденция идет в сторону увеличения диагонали, а бросаться под поезд технического прогресса, полное безрассудство, то приходиться не только корпеть, вылизывая огрехи не корректного поведения браузеров, но и учитывать данное обстоятельство.
Не менее актуальна проблема header-а и footer-а.
Писал о последнем и стал еще более категоричен, не смотря на то, что footer пытаются сделать многофункциональным помещая туда помимо копирайта, кучку разнообразных фишек, есть смысл полностью отказаться от этой практики. Согласитесь, ну кому он интересен? Что там читать? Придя на ресурс за информацией, и получив ее в достаточном объеме, нет никакой необходимости вчитываться в ваш копирайт и прочую ерунду, большие сомнения по этому поводу у меня имеются, хотя вполне возможно, что не во всем прав и у вас есть свои аргументы против.
Тоже относится и к шапке сайта, традиции, в какой-то мере здоровый консерватизм, имеет место быть. Что можно сказать о сайте при открытии, которого на пол экрана висит header? Да ничего хорошего. А если из оставшейся половины треть зарезервирована под footer, понятно, что автор ресурса достиг не бывалого просветления :) и потому всего посты состоят из двух слов, максимум двух предложений, где через слово ненормативная лексика, а в словах состоящих более чем из пяти букв, как минимум пять ошибок.
Что такого ценного может быть в header?
Офигенный логотип не ясной природы?
Горизонтальное меню, форма поиска?
Легкое движение колесика мыши и где он навороченный по самое не могу?
Ответить на часть вопросов и в какой-то мере решить данную проблему, могло бы не заслуженно игнорируемое, на мой взгляд, стилевое правило position:fixed; Вот только, к большому сожалению, серьезных публикаций на эту тему вы вряд ли найдете. Есть робкие попытки, два примера, но в первом автор не уделил достаточного внимания IE, о чем приходиться только сожалеть, тем более, что на форуме блога приводил пример, как это сделать, а во втором реализация поддержки для IE6 полностью отсутствует. Смотреть меню справа.
Это говорит только об одном, о трудности создании практической работающей версии шаблона страницы, назовите, как хотите не суть то важно, выдержанной в полном соответствии этому правилу. А, учитывая выше сказанное по поводу размеров диагонали монитора, разрешения, своеобразного отношения браузеров к position:fixed; реализация кроссбраузерного, удовлетворяющего всем требованиям полноценного макета web-страницы, представляется не тривиальной задачей и возможно такого решения не существует в природе.
Так, как мне нравится это правило, не оставляю попыток приблизиться к решению, хотя бы промежуточному. Одна из попыток, заточенная под разрешение 1024*768 в графическом исполнении. Стоит поиграть с размерами окна браузера, разрешением, изменением размера шрифта, фиксирован, "опереточники", посмотрите, что вытворяет ваш любимый браузер, с дурной привычкой масштабировать всё и вся, надеюсь, вы не разучились нажимать клавишу "+" :)
Там же стоит почитать: Наглыми бывают даже рекламные блоки. Своеобразный взгляд на размещение рекламных блоков, с тонкой подоплекой, это тоже повод задуматься, почему так редко используется position:fixed; потребность в котором судя по всему существует, а ее решение с помощью JavaScript и ей подобных технологий не вызывает, по понятным причинам, одобрения.
В заключительной части повествования, пробежимся по конкретным примерам, из моей собственной практики.