2015-06-10 4 views
0

Я здесь разрываю волосы. Кто-нибудь знает, как я могу получить div, чтобы заполнить экран как горизонтальный, так и вертикальный? Я могу заставить его заполнить его горизонтально, но он просто отказывается заполнять вертикаль, если не указать ширину в пикселях. Что я делаю не так?Заполняющий экран горизонтальный и вертикальный с прокладкой

Это то, что я хочу сделать, не придется прокручивать, чтобы получить снизу отступы:

a full width and height div with padding on all sides

Спасибо!

HTML:

<div id="main"> 
    <div class="main_content"></div> 
</div>​ 

CSS:

#main { 
margin-left:auto; 
margin-right:auto; 
height:100%; 
width:auto; 
padding-left:40px; 
padding-right:40px; 
padding-top:40px; 
padding-bottom:40px; 
} 

.main_content { 
width:auto; 
height:100%; 
background:#fff;  
} 

ответ

0

При установке высоту в процентах это связано с его контейнером, который должен иметь явную высоту. Если вы установите высоту: auto, контейнер будет занимать высоту своего содержимого. Родитель div должен иметь явное свойство высоты, вы можете установить его в 'px' или в 'em'. Вы также можете установить в 'vh'

+0

Спасибо! Можно ли сделать это, не устанавливая родителя на фиксированную высоту «px» или 'em'? Все, что я хочу, это полный и высотный div с заполнением. – GetGalax

+0

Я думаю, что в этом случае лучше всего установить высоту div и padding в 'vh'. Например height: 95vh и padding: 5vh. Таким образом, div широкоэкранный – Fabrizio

+0

Работает отлично, за исключением того, что мне нужно прокрутить вниз, чтобы получить нижнее дополнение. Есть ли способ, который можно решить без прокрутки? – GetGalax

0

Добавьте код, приведенный ниже в таблице стилей.

html{ 
    height: 100%; 
} 
+0

К сожалению, это не сработало? :( – GetGalax

0

вы можете добавить height:100vh;

Демо: http://jsfiddle.net/6yLhk17h/

+0

Привет, это не дает мне нижнюю прокладку, если я не прокручиваю вниз. Любые идеи, как это исправить? – GetGalax

Смежные вопросы