Ответ 1
С помощью position: absolute
и установки сверху, влево, вправо и снизу: http://jsfiddle.net/QARC9/
В этой статье описывается, почему это работает.
http://www.alistapart.com/articles/conflictingabsolutepositions/
Связано с этим вопросом.
Здесь сценарий: http://jsfiddle.net/DRbRS/
Обратите внимание на то, как красный-выделенный список div не выравнивается в нижней части зеленого контейнера div.
Проблема заключается в том, что нет возможности заранее знать, какова должна быть конечная высота списка, даже если высота заголовка известна.
Есть ли способ справиться с этим, не прибегая к javascript?
Нам нужен стиль типа height: fill;
С помощью position: absolute
и установки сверху, влево, вправо и снизу: http://jsfiddle.net/QARC9/
В этой статье описывается, почему это работает.
http://www.alistapart.com/articles/conflictingabsolutepositions/
Замените свой CSS на
#container {
left: 50px;
width: 200px;
position: fixed;
height: 90%;
border: 2px dashed green;
}
#header {
height: 30px;
line-height: 30px;
text-align: center;
border: 2px dashed blue;
margin-left:-2px;
margin-top:-2px;
width:200px
}
#list {
border: 2px dashed red;
overflow: auto;
height: 91%;
width:200px;
margin-left:-2px;
margin-top:-2px;
}
или см. демонстрацию здесь http://jsfiddle.net/enve/DRbRS/3/