Следующее ведет себя точно так, как я ожидаю, в Firefox и Safari, но решение для Internet Explorer ускользает от меня.
Проблема : браузеры, не использующие IE, показывают, что контейнер правильно выдвинутподальше от сторон смотрового окна.IE, тем не менее, поддерживает строгую 100% высоту контейнера (предположительно на основе родительского элемента этого контейнера) и вместо этого смещает контейнер, выталкивая его из нижней части области просмотра.
<!DOCTYPE html>
<html>
<title>The Splits</title>
<head>
<style>
html, body {margin:0;padding:0;height:100%;}
html {
height:auto;
min-height:100%;
overflow:hidden;
}
div#container {
position:absolute;
top:50px;
right:20px;
bottom:20px;
width:290px;
max-height:100%;
#height:100%;
}
div#one,
div#two {
position:relative;
height:50%;
overflow:auto;
}
div#one {background-color:lightgreen;}
div#two {background-color: lightblue;}
</style>
</head>
<body>
<div id="container">
<div id="one">top</div>
<div id="two">bottom</div>
</div>
</body>
</html>
Абсолютно позиционированный контейнер содержит два элемента высотой 50%.
Требования следующие:
- Расположение контейнера произвольно, но ононеобходимо оттолкнуть от сторон области просмотра, не полагаясь на отступы в области просмотра.
- При изменении размера области просмотра высота двух элементов в контейнере должна изменяться в зависимости от процентного значения (в настоящее время 50%каждый).
- Это должно работать как минимум в IE 7+ и Firefox 3+.
- Если это приводит к "О, ЧУУ!"момент для меня, вы постараетесь не злорадствовать.
Я пробовал много комбинаций атрибутов позиции и высоты для элементов HTML и BODY, но, видимо, не нашел правильного для IE.