Почему не используется позиция: фиксируется для "липкого" нижнего колонтитула?

Я видел метод Райана Файта для липкого нижнего колонтитула, а также здесь и здесь.

Почему эти люди создают шаблоны для липких нижних колонтитулов, когда #footer{position:fixed; bottom:0;} будет достаточно?

ИЗМЕНИТЬ:

Я добавлю, что использование position: fixed; для нижнего колонтитула разбивает margin: auto; центрирование (по крайней мере) некоторых браузеров, создавая тем самым потребность в теге-обертке. Часть моей проблемы с вышеупомянутыми методами - лишние теги, которые запутывают, синтаксически неверны (для "пуристов HTML" ), и она ест пропускную способность. Тем не менее, одна обертка вокруг нижнего колонтитула по-прежнему, по-моему, лучше, чем целый смешаный шаблон страницы, с которого нужно начинать. И "мой" путь еще более прост и ест меньше пропускной способности.

Ответы

Ответ 1

Разница между использованием position: fixed и метода Райана Файта довольно фундаментальна.

При использовании position: fixed нижний колонтитул всегда отображается, и это не то, что пытается сделать липкий нижний колонтитул.
Значение липкого нижнего колонтитула заключается в том, чтобы оставаться прикрепленным к нижней части, за исключением случаев, когда содержание больше, чем высота видового экрана. В этом случае липкий нижний колонтитул будет действовать как обычный нижний колонтитул, появляющийся чуть ниже содержимого страницы.

В http://www.mcemperor.nl/pub/stickyfooter вы можете увидеть эффект липкого нижнего колонтитула.

Ответ 2

Хорошо "вставьте" со мной в этот ответ:) Единственное различие между вашим методом и методом липкого нижнего колонтитула, как упоминалось в другом ответе, заключается в том, что липкий нижний колонтитул появляется только под всем содержимым главной страницы и никогда не покрывает содержание страницы.

Итак, чтобы исправить все, что вы делаете, это сделать содержимое главной страницы в простой обертке div, в которой вы устанавливаете позицию: relative; top: 0px; left: 0px; и сделать z-индекс больше, чем оригинал страницы. Единственное изменение, которое получается из этого div, обертывающего содержимое страницы, заключается в том, что оно помещается над исходными элементами страницы, так как индекс z выше. Затем вы помещаете нижний колонтитул в html с положением: fixed; bottom: 0px; и сделать z-индекс меньше, чем содержание страницы и TA-DA! Нижний колонтитул никогда не появляется над содержимым страницы. Для выполнения этой работы содержание страницы должно иметь непрозрачный фон для покрытия нижнего колонтитула.

Одно замечание: между этим и "липким" нижним колонтитулом будет небольшая разница: липкий нижний колонтитул не будет "скользить" из нижней части содержимого страницы, как это будет описано выше, когда вы прокрутите вниз. Однако, поскольку это лишь небольшая разница в пользовательском интерфейсе, я думаю, что вышеупомянутый метод превосходит по простоте и производительности липкий нижний колонтитул. И некоторые люди могут подумать, что это лучше, когда нижний колонтитул "скользит", как в методе выше.

Я думаю, что это должно полностью ответить на ваш вопрос.

:) Эдвард