У Div с переполнением: авто; если экран сделан маленьким, вертикальная полоса прокрутки появляется как в IE8, так и в Firefox, но не прокручивается в IE8 - PullRequest
1 голос
/ 14 июля 2011

Я работаю над модальным «ящиком», чтобы плавать над остальной частью страницы и затемнять остальную часть страницы.

Я столкнулся с ошибкой IE с z-order by, решившей эту проблему.

DIV с именем overlay использует CSS-класс, также называемый overlay, который выглядит следующим образом:

border: 4px double black;
padding: 6px;
visibility: hidden;
z-index: 3000;
position: fixed;
display: block;
font-family: Arial,Helvetica,sans-serif;
background-color: #3366ff;
color: white;
overflow: auto;
text-align: left;
max-width: 50%;
max-height: 90%;

Существует div с именем grayout, который используется, ну, в общем, затемнениеостальная часть страницы.

Я генерирую div'ы с некоторыми операторами writeeln, чтобы попытаться правильно обработать IE6.Несмотря на это, нет проблем с сгенерированным кодом, вы можете посмотреть на него с помощью IE8 Developer Tools или Firefox с Firebug, и это просто прекрасно, как для синтаксиса.

Я собираюсь жестко закодировать divна тестовой странице в моей системе, чтобы убедиться, что динамическое создание не вызывает эту проблему.Я напишу здесь, если это так.

Проблема, с которой я столкнулся, заключается в том, что IE8 отображает вертикальную полосу прокрутки, если я сделаю окно браузера достаточно маленьким, но оно не работает - щелчок по прокруткеbar ничего не делает.

Он отлично работает с Firefox 3.6.17

Вы можете проверить страницу по адресу http://www.bobnovell.com/test/modalemailtext.html

Когда вы загрузите страницу, «окно» будетбыть видимымНажмите кнопку «Электронная почта» или кнопку «Закрыть окно» (в правом верхнем углу), и окно закроется.

Перезагрузите страницу, чтобы снова отобразить окно.

Когда поле станет видимымизмените размер окна браузера так, чтобы весь блок не отображался.И IE8, и Firefox 3.6.17 автоматически показывают вертикальную полосу прокрутки, когда вы изменяете размер окна, но полоса прокрутки не работает с IE8.Работает с Firefox просто отлично.Вы также можете попробовать перезагрузить страницу после уменьшения размера окна - это не меняет симптомов.

Что я пропускаю?

Я сделал тестовую страницу, на которой ничего нет, ноdiv с тем же классом CSS и положить в некоторый текст.Когда я уменьшаю размер окна, чтобы получить полосу прокрутки, полоса прокрутки работает как в IE8, так и в Firefox - поэтому проблема заключается в какой-то другой части страницы, что, возможно, не зависит от определения div наложения.

Имейте в виду, что это «незавершенная работа», и поэтому я пока не убрал другие вещи на странице.Также это своего рода проверка идей.

1 Ответ

2 голосов
/ 14 июля 2011

Чтобы исправить это: в modalbox.js удалите filter: alpha(opacity=100) и все другие связанные с фильтром вещи в #overlay.

...