Как реализовать фиксированное дно в IE6? - PullRequest
0 голосов
/ 17 ноября 2009

С КСС.

Пожалуйста, не отсылайте меня на другую ссылку.

EDIT

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

1 Ответ

0 голосов
/ 17 ноября 2009

Если у вас проблемы именно с IE6 - рассмотрите возможность использования скрипта сброса. Это сделает вашу жизнь намного проще. Существует множество различных сценариев сброса, поэтому проведите небольшое исследование и найдите тот, который вам нравится. Лично я нахожу, что Yahoo производит тот, который подходит для цели.

Смысл использования сценария сброса:

  1. Каждый браузер применяет набор стандартные стили и свойства, прежде чем любая таблица стилей пользователя станет еще загружен.
  2. Много различий между рендеринг страницы из-за несоответствия между этими по умолчанию.
  3. Если бы мы могли найти способ сгладить земля, прежде чем мы начнем здание, жизнь была бы легче

Сценарий сброса выполняет это выравнивание - и с IE6 можно работать гораздо более логичным образом.

Обязательная ссылка;)

http://developer.yahoo.com/yui/reset/

Решение

Учитывая использование этого сценария сброса, я предлагаю вам следующее решение.

Как вы, наверное, знаете, IE6 не поддерживает положение: исправлено.

Для решения проблемы вы можете использовать следующий фрагмент:

<style>

html, body {
    height: 100%;
    overflow: auto;
}

div#fixed-bottom {
    position: fixed;
    z-index: 2;
    bottom: 0;
    height: 20px;
    width: 100%;
    background-color: #eaeaea;
    margin-top: -20px;
}

div#content {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: auto;
}

* html div#fixed-bottom {
    position: absolute;
}

</style>

Который должен применяться к документу, содержащему следующие элементы в его <body></body>:

    <div id="fixed-bottom">
        <p>
            I'm at the bottom
        </p>
    </div>
    <div id="content">
        <p>
            Your content here.....
        </p>
    </div>

Это должно работать, потому что:

  1. IE6 обрабатывает высоту так же, как большинство браузеров обрабатывают максимальную высоту. Автоматическое переполнение позволяет потоку контента (с полосами прокрутки), если контент продолжает превышать высоту окна просмотра браузера.
  2. Хак '*' используется для простоты - он гарантирует, что IE6 применяет 'position: absolute;' а не «позиция: фиксированная». Вы должны использовать условные комментарии для предоставления конкретного CSS для IE6.
  3. Обратите внимание, что это решение будет работать только тогда, когда IE6 настроен на использование «строгого режима». Это можно установить явно, выбрав подходящий тип документа; например:

     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...