position:relative и overflow:auto проблема, но нельзя использовать position:relative для содержащего элемента!! :-(

У меня есть страница, на которой мне нужно использовать overflow:auto внутри тегов html и body, потому что у меня есть элемент position: fixed, для которого я должен использовать position: absolute в IE (и, таким образом, overflow:auto, чтобы избавиться от IE ошибка).

Этот бит отсортирован.

Но теперь моя проблема в том, что у меня другая позиция: относительные элементы на моей странице. И в тот момент, когда я помещаю *html, body{ overflow : auto;}, эти относительно позиционированные элементы ведут себя странно и вроде как исправляются в IE из-за другой ошибки IE (overflow:auto и position:relative).

Обходной путь для этой ошибки в общем случае, как мне сказали, заключается в том, чтобы включить position:relative в «содержащий элемент». Но это невозможно, поскольку моему содержащему элементу требуется позиция: абсолютная в IE, чтобы фиксированный элемент работал.

Как мне это решить?


* html , body { height:100%; overflow : auto;}
* body #fixedelement {position:absolute;} /* for IE */

body > #fixedelement {position:fixed;} /*for firefox etc*/

#relative{
    /* I need to use this but putting position:relative to html or body
    seems not possible coz i need #fixedelement to work in IE */
    position:relative;
}

Пожалуйста помоги


person Smarajit Dasgupta    schedule 24.12.2009    source источник


Ответы (1)


Для этого есть хитрость, позволяющая помещать элементы с абсолютным позиционированием внутрь относительного элемента. Вы можете найти это полезным.

person Sarfraz    schedule 24.12.2009