2012-01-09 3 views
1

Я хочу:авто высота и прокрутка в середине div - возможно?

<div style="height:100%"> 
    <div style="height:70px;">header</div> 
    <div style="overflow-y:scroll;">main</div> 
    <div style="height:60px;">footer, alw. at bottom parent-div</div> 
</div> 

Действительная (пикс) Высота контейнера может изменить отд на клиентском окне размера, высота колонтитула и заголовка набора в CSS-темы.

Все позиционирование должно быть относительным. Требуется ли JS для решения этой проблемы?

(Пробовали высота: авто на главном, кажется, не имеет никакого эффекта.)

+1

'высота: автоматический;' поведение по умолчанию для 'div'. вы хотите, чтобы ваш основной div прокручивался, когда достигнут размер окна? – c4urself

ответ

2

Вы можете использовать absolute позиционирования для достижения этой цели достаточно легко, поэтому она должна быть расположена relative?.

#header, #main, #footer { 
    left: 0; 
    right: 0; 
    position: absolute; 
}  

#header { 
    top: 0; 
    height: 70px; 
    background-color: yellow; 
} 

#main { 
    top: 70px; 
    bottom: 60px; 
    background-color: lime; 
    overflow: auto; 
} 

#footer { 
    bottom: 0; 
    height: 60px; 
    background-color: red; 
} 

JSFiddle: http://jsfiddle.net/Tg8g5/

+1

отлично, работает, спасибо. – Teson