«переполнение: скрытое» недопустимо в ie

#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;
}
  

Надеюсь, это сработает…Удачи.