it-swarm-ru.tech

IE7 CSS Scrolling Div Ошибка

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

Я полагаю, что самый простой способ воссоздать эту ошибку - это следующий html на странице с объявленным doctype (он работает правильно в режиме quirks/no-doctype):

<div style="overflow: auto; height: 150px;">
    <div style="position: relative;">[...]</div>
</div>

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

Скриншот: bug screenshot

49
frank hadder

Самым простым решением было бы добавить position: relative; во внешний div. Это заставит IE7 работать так, как задумано.

(См .: http://rowanw.com/bugs/overflow_relative.htm ).

РЕДАКТИРОВАТЬ: Кэшированная версия неработающей ссылки на waybackmachine.org

98
frank hadder