#javascript #html #css #internet-explorer #overflow
#javascript #HTML #css #internet-explorer #переполнение
Вопрос:
<html>
<head>
<style>
html{ overflow:hidden;}
body{ overflow:hidden; height:100%; background-color:blue; margin:0px;}
div{ height:3000px; background-color:red; margin:30px;}
</style>
</head>
<body>
<div>dasdasd</div>
</body>
</html>
Вот html-код. Когда он запускается в стандартном браузере, тег div продолжает отображаться в окне.
Но он запускается в ie, когда вы выбираете слова «dasdasd» и перетаскиваете вниз, тег body будет прокручиваться, а слова «dasdasd» будут скрыты, если вы не отключите функцию выбора.
Может кто-нибудь дать мне другое решение?
Как и в ответе Спадли, проблема связана с типом документа, но когда в стандартном режиме тег body все еще прокручивается, кто-нибудь может решить проблему?
Комментарии:
1. Это не имеет ничего общего с
overflow
или CSS.2. Кроме того, пожалуйста, укажите, какую версию IE вы используете — это также может иметь значение.
Ответ №1:
Проблема в том, что вам не хватает <!DOCTYPE>
объявления.
Когда IE видит HTML-код без DOCTYPE, он переходит в режим quirks.
В режиме quirks браузер эффективно отображает страницу для обеспечения обратной совместимости с IE5. Это изменяет способ отображения базового макета окна и удаляет поддержку многих стандартных CSS.
Добавьте следующий тип документа в верхнюю часть вашей страницы (над <html>
тегом), и вы должны увидеть, что все идет правильно:
<!DOCTYPE html>
Комментарии:
1. Теперь я могу сказать «Ага!», Только в первый раз, когда я это знаю, спасибо 🙂
2. но тег body также прокручивается в стандартном режиме, не могли бы вы решить проблему?
Ответ №2:
Попробуйте это:
body {
background-color: blue;
height: 100%;
margin: 0 auto;
overflow: auto;
}
div {
background-color: red;
margin: 30px;
overflow: auto;
}
Надеюсь, это сработает…Удачи.