Почему моя веб-страница не прокручивается в Internet Explorer 8? - PullRequest
11 голосов
/ 06 февраля 2011

Итак, я потратил значительное количество времени на кодирование и разработку этой веб-страницы, и она отлично работает в каждом браузере, в котором я ее тестировал: IE7, IE9, Firefox, Chrome, Safari.Но когда я просматриваю веб-страницу в IE8 (и только в IE8), вертикальная прокрутка отключается.Полоса прокрутки там все в порядке, но она отключена, и я не могу использовать ее или колесо прокрутки мыши.

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

Ответы [ 6 ]

10 голосов
/ 06 февраля 2011

Хорошо, я понял это.Если вы поместите height: "100%"; в тег html таблицы стилей CSS вашей страницы, в IE8 прокрутка будет прервана, но другие браузеры все равно будут работать.Пойди разберись.

4 голосов
/ 03 мая 2013

Вот хакерский способ заставить полосу прокрутки работать с высотой 100%. Не лучшее решение, но теперь оно прокручивается в IE8.

html {
    overflow-y: hidden\9;
}
html, body {
    height: 100%\9;
}
body {
    overflow-y: scroll\9;
}
2 голосов
/ 01 августа 2012

в основном три вещи, которые вы должны увидеть

  1. Если вы задали стиль как переполнение: скрыто
  2. Если вы указали высоту в процентах от страницы.
  3. если вы дали float: static.

Исправьте эту проблему, ваша проблема IE 8 будет решена.

Причина: IE 8 отличается от CBC для проверки IE Frist! К слову, IE 8 скрывает (только полосу прокрутки) полосы прокрутки, если у вас переполнение скрыто, а если у вас есть места высотой 100%, IE 8 воспринимает переполнение как скрытое (можно сказать, берет свое!) кто может выйти за пределы размера страницы, если он у вас наследственный или относительный, но статическая доза не увеличивается динамически.

1 голос
/ 31 июля 2012

Вы пробовали на другом IE8 (не на вашем местном ie8)?Возможно, проблема в вашем ie8.

  • Запустите в режиме без дополнений или попробуйте отключить все дополнения (включая бары)
  • Восстановление расширенных настроек.Сервис -> Свойства обозревателя -> Дополнительно -> Восстановить дополнительные параметры.
0 голосов
/ 31 июля 2012

Если вы используете CSS, может пригодиться то, что вам нужно сбросить значение CSS, чтобы страница правильно отображалась в IE8. Я предоставил ссылку, а также фрагмент из http://sixrevisions.com/css/css-tips/css-tip-1-resetting-your-styles-with-css-reset/. Это может помочь вам. Во всяком случае, это хороший сайт для чтения, если вы начинаете разработку.

Сброс туда, где все началось ...

Концепция CSS Reset впервые обсуждалась формально еще в то время, когда динозавры все еще бродили по Интернету (если быть точным, в 2004 году) Эндрю Креспанисом. В своей статье он предлагает использовать универсальный селектор (*) в начале вашего CSS-файла, чтобы выбрать все элементы и дать им 0 значений для полей и отступов, например:

* {
   margin: 0;
   padding: 0;
}

Универсальный селектор действует как поиск по шаблону, аналогично сопоставлению регулярных выражений в программировании. Поскольку в этом случае * не предшествует другой селектор, все элементы (теоретически - некоторые браузеры не поддерживают его полностью) совпадают, и поэтому все поля и отступы всех элементов удаляются (поэтому мы избегаем пробелов различия показаны в Примере 1).

Применяя универсальный сброс полей селектора / отступа к нашему более раннему примеру, мы теперь удаляем все несогласованные интервалы между всеми браузерами (другими словами, мы не заставляем браузеры думать за нас, мы показываем им, кто здесь главный).

Пример 2. Применение поля универсального селектора / сброса заполнения

Но теперь у нас нет промежутков между абзацами, поэтому где-то под нашим сбросом универсального селектора мы объявим, как должны выглядеть наши абзацы. Вы можете сделать это несколькими способами - вы можете поставить поля (или отступы) в начале или в верхней части абзаца, или и то, и другое. Вы можете использовать ems как свои единицы или пиксели или проценты.

Важно то, что мы выбираем способ отображения в браузере. Для нашего примера я решил добавить поля (вместо отступов) как вверху абзацев, так и внизу - но это мой выбор, вы можете сделать это по-другому.

Вот что я использовал:

 * { margin:0; padding:0; }
    p { margin:5px 0 10px 0; }

Пример 3. Объявление правила стиля после универсального селектора.

Note: The example I used for discussion is a simplified example. If you only used paragraphs for your web pages and no other elements, you wouldn’t want to reset your margins to 0 using the universal selector only to declare a style rule right after it for your paragraph. We’ll discuss this more fully along with other best practices later on down the page.

Вскоре после этого - гуру CSS Эрик Мейер далее развил концепцию сброса полей и отступов. В исследовании Эрика Майера он обсуждает работу Танека по отмене стилей HTML по умолчанию (которые он назвал undohtml.css), которые не только сбрасывают поля и отступы, но также и другие атрибуты, такие как высота строки, стили шрифта и стили списка (некоторые браузеры используют разные маркеры для неупорядоченных элементов списка).

После многих итераций и уточнений мы приходим к замечательному решению, которое называется «Сброс CSS». «Перезагрузка CSS» не только делает этот метод сброса CSS более точным, чем метод универсального селектора, используя более высокую специфичность путем присвоения имен всем возможным тегам HTML (поскольку универсальный селектор не может применить сброс ко всем тегам HTML), но также устанавливает значения по умолчанию для таких проблемных элементов, как таблицы (в которых атрибут border-collapse не отображается одинаково во всех браузерах).

Конечно, есть и другие способы сброса вашего CSS (например, YUI Reset CSS от Yahoo !., который я сейчас использую в Six Revisions), и вы можете свернуть свой собственный, исходя из своих предпочтений и потребностей проекта.

САЙТ: http://sixrevisions.com/css/css-tips/css-tip-1-resetting-your-styles-with-css-reset/

ПРИМЕЧАНИЕ: я новичок в этом, поэтому, пожалуйста, потерпите меня.

0 голосов
/ 31 июля 2012

Я также сталкивался с такой проблемой много раз. Полоса прокрутки в IE8 не должна отображаться на простой HTML-странице. Поэтому, пожалуйста, проверьте содержимое тега <body></body>. Там может быть какой-то тег margin или padding.

В настоящее время я использую IE8, но такая полоса прокрутки не отображается. Не нужно исправлять height:100% для HTML или BODY. Пожалуйста, проверьте вашу страницу глубоко.

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