Position: fixed; - теория
Прежде чем перейти собственно к решениям, позволяющим практически без ограничений использовать фиксированные блоки на web-страницах, есть смысл остановиться более подробно на определении стилевого правила {position:fixed;}.
Обратимся к основополагающему документу - спецификации "Каскадных таблиц стилей":
9.6.1 Fixed positioning
Fixed positioning is a subcategory of absolute positioning. The only difference is that for a fixed positioned box, the containing block is established by the "viewport". For "continuous media", fixed boxes do not move when the document is scrolled. In this respect, they are similar to "fixed background images". For "paged media", boxes with fixed positions are repeated on every page. This is useful for placing, for instance, a signature at the bottom of each page. Boxes with fixed position that are larger than the page area are clipped. Parts of the fixed position box that are not visible in the initial containing block will not print.
9.6.1 Фиксированное позиционирование
Фиксированное позиционирование это подкатегория абсолютного позиционирования. Единственное отличие в том, что для фиксировано позиционированного бокса содержащий блок устанавливается "портом просмотра". Для "непрерывных носителей" фиксированные боксы не перемещаются при прокрутке документа. В этом смысле они похожи на "фиксированные фоновые изображения". Для "страничных носителей" боксы с фиксированной позицией повторяются на каждой странице. Это используется для размещения, к примеру, подписи внизу каждой страницы.
Из приведенных выше цитат, должно быть понятно, что такое {position:fixed;} и с чем его едят.
Поговорим о присущих ему недостатках, связанных при его применении на практике.
Самой главной проблемой использования {position:fixed;} на прямую, а оно заложено изначально, является следующее обстоятельство - уменьшение размеров окна браузера до появления горизонтальной прокрутки и игры с ней, визуальная составляющая web-страницы вызывают вполне закономерное неприятие.
Причем любые ваши действия направленные на устранение этого дефекта не приведут к положительному результату, вы только можете спрятать фиксированный блок под область контента, все зависит от значения z-index.
Также, сдерживающим фактором является и то, что на web-странице всегда имеются элементы с фиксированными размерами по ширине, это графика, различные формы и т.д. и т.п. Ссылка на пример расположенная выше, наглядное тому доказательство.
Не говоря уже и о том, что {position:fixed;} без дополнительных телодвижений не работает в IE6. Попытки эмулировать подобное поведение для детища Microsoft, не однократно предпринимались, но так или иначе никому так и не удалось решить возникающие проблемы в принципе.
Именно по этому, на мой взгляд, многие, даже профессиональные верстальщики, избегают применения данного стилевого правила и не используют фиксированные блоки (колонки) в своих разработках.
С сожалением должен констатировать, в связи с особенностями поведения и своеобразной интерпретацией стилевых правил популярными браузерами, разметка на основе предлагаемого мной метода, носит экспериментальный характер и без написания дополнительных стилевых правил для зверинца браузеров, тут и IE и OPERA, не обойтись, что слегка портит общую картину.
Тем не менее, всем тем, кто не боится вырваться из колеи проложенной не одним поколением многочисленных "псевдо" гуру от верстки и хочет добавить капельку уникальности своим ресурсам, есть смысл обратить свой взор на меню расположенное в фиксированной колонке.
Надеюсь, это позволит вам обрести дополнительные возможности в свободе выбора при разметке web-страниц, не ограничиваясь стандартными, порядком, набившими оскомину решениями.