Переполнение<div>: авто не показывает полосу прокрутки до изменения размера
У меня есть элемент в моей форме, который выглядит следующим образом:
<div style="overflow-y:auto;overflow-x:hidden;height:100%;width:100%">
В IE7 при первой визуализации страницы полосы прокрутки отсутствуют. Однако, если я изменю размер страницы (даже всего на 1 пиксель), полосы прокрутки появятся правильно.
Что я могу сделать, чтобы полосы прокрутки отображались правильно при первом отображении страницы?
6 ответов
Установите overflow-y на "прокрутку", если вы всегда хотите полосу прокрутки.
Такая проблема возникает из-за ошибки hasLayout в IE6 и IE7. Это влияет на то, как IE отображает страницу. Чтобы избавиться от проблемы, вам следует прочитать эту замечательную страницу о поведении hasLayout и его хакерских атаках. Существует также официальная страница Microsoft, посвященная распечатке.
Предлагаемые хаки height: 0;
а также zoom: 1;
в зависимости от версии IE, на которую вы хотите настроить таргетинг, и типа вашего элемента.
Я использовал overflow: scroll, и это исправило мою проблему с исчезающей полосой прокрутки при загрузке. Мои таблицы создаются динамически и должны автоматически прокручиваться при загрузке страницы, поскольку у меня достаточно данных для начала.
Мне не нужно было делать никаких других изменений. Теперь он работает во всех трех браузерах IE7, IE8 и FF.
Вы должны добавить margin-right: 20px к вашему стилю, чтобы на полосе прокрутки было достаточно места для отображения.
Пытаться Internet Explorer 9
и посмотрите, работает ли ваш текущий скрипт там. Скорее всего, он работает там, и если это так, вы можете переосмыслить свое внутреннее желание сделать его совместимым с предыдущими версиями Internet Explorer, такими как 7 и т. Д.
Я предполагаю, что Chrome и FireFox быстро переворачивают аудиторию из IE, и это только вопрос времени, когда такие вопросы устареют...
Попробуйте абсолютную ширину и высоту, при изменении размера IE7 может вычислять размеры самостоятельно, когда вы собираетесь изменить размер страницы, тогда как при загрузке страницы это не...