Переплетенный div вокруг грязного кода - PullRequest
0 голосов
/ 18 ноября 2011

У меня есть нижний колонтитул, и я хочу сделать старомодное «Держите нижний колонтитул внизу, несмотря ни на что», обернув содержимое в div с помощью min-height: 100%, сделав нижний колонтитул абсолютным для нижней части этого контейнера.Моя проблема в том, что большинство файлов выглядят так:

<cfinclude template="header.cfm" />
<cfinclude template="some-content.cfm" />
<cfinclude template="footer.cfm" />

Что кажется достаточно простым, просто откройте контейнер div в заголовке и закройте его в нижнем колонтитуле.Тем не менее, в этом 12-летнем приложении повсюду есть множество незакрытых тегов div и случайных тегов.Так что, пытаясь обернуть присоску, div не проходит весь код до того, как он будет сброшен в какой-то момент.

Так что вопрос: есть ли более удачный способ сохранитьнижний колонтитул внизу (я мог бы сделать это в jQuery, вычисляя высоту окна и высоту html и так далее, я действительно ищу что-то менее грязное, если это возможно) или кто-нибудь знает о неясном способе заставить закрывающий тег div связатьс открывашкой?

Ответы [ 2 ]

1 голос
/ 18 ноября 2011

Если это старое приложение, оно вряд ли будет использовать какой-либо из новых элементов HTML5, так что вы можете заключить все в, скажем, <article> вместо <div>.

Эта идея немного грязная, если только вы не можете найти хорошее семантическое соответствие. И Драевор прав, есть и другие способы приклеить вещи к нижней части страницы.

Редактировать: Новые элементы HTML5

1 голос
/ 18 ноября 2011

Вам не нужно рассчитывать высоту окна или оборачивать все в контейнере, чтобы держать нижний колонтитул внизу.Создайте div с содержимым нижнего колонтитула в начале или в конце html и оставьте его прикрепленным к основанию, используя position: fixed; bottom: 0 (вы также можете добавить некоторые отступы к телу, если не хотите, чтобы оно перекрывало содержимое).Если вам нужно поддерживать старые IE, используйте position: absolute и добавьте немного Javascript, чтобы изменить положение при прокрутке страницы - множество примеров в Интернете по этому поводу (вот пример, предоставленный rip747: http://www.hardcode.nl/archives_139/article_244-jquery-sticky-footer)

Редактировать: учитывая первый комментарий, вы также можете добавить div после элемента, в котором ваш нижний колонтитул будет продолжать использовать jQuery. Добавляя его после загрузки dom, больше не должно быть проблем с незамкнутыми элементами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...