2013-04-28 2 views
0

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

Элементы 1 и 3 должны быть прикреплены соответственно сверху и снизу.
Элемент 2 имеет фиксированную высоту и должен быть центрирован на странице.

Я не уверен, если я объясняю это достаточно ясно, так что я нарисовал картину:

enter image description here

+0

это выглядит как 1 и 3 имеют фиксированную высоту, а не 2 –

+0

Ну , Я считаю, что это маржа в элементе 2. –

ответ

3

Fix элемент 1 и элемент 3 в верхнюю и нижнюю части страницы, соответственно, используя абсолютное позиционирование. Тогда абсолютно позиция элемента 2 топ для 50% и установить отрицательный верхний край половины его высоты:

#top, #middle, #bottom { position: absolute; left: 0; right: 0; } 
#top { top: 0; } 
#middle { top: 50%; margin-top: -25px; height: 50px; } 
#bottom { bottom: 0; } 

Try it.

+0

Преимущество этого подхода в том, что он будет работать в IE7. –

+0

Спасибо, это похоже на отличное решение! –

0

В качестве альтернативы, вы могли бы сделать что-то вроде этого: Example

body, html { 
    height: 100%; 
    display: table; 
    width: 100%; 
    margin: 0px; 
    padding: 0px; 
} 
header, div, footer { 
    width: 100%; 
    display: table-row; 
} 
header { 
    height: 50px; 
} 
footer { 
    height: 50px; 
} 
Смежные вопросы