2013-09-06 1 views
17

Я искал всюду. и до сих пор не смог найти пример кода очень «базовой» идеи:Div с автоматическим изменением размера при изменении ширины окна высота

Разница, которая занимает 90% размера экрана и настраивается при каждом изменении размера браузера (чтобы принять 90% относительный экран)

вложенные дивы внутри он должен повторно размер себя хорошо ..

это такое вообще возможно?

РЕДАКТИРОВАТЬ:

ширина 90% не работает при попытке повторно размер экрана по вертикали.

+0

Вы имеете в виду использование css и настройку свойства width на 90%? http://www.w3schools.com/cssref/pr_dim_width.asp по значению свойства. – Huangism

+0

его возможно ... – Tomzan

+1

'

' – tomaroo

ответ

9

В этом случае внешний <div> имеет ширину и высоту 90%. Внутренний div> имеет ширину 100% от родительского. Оба масштаба при повторной калибровке окна.

HTML

<div> 
    <div>Hello there</div> 
</div> 

CSS

html, body { 
    width: 100%; 
    height: 100%; 
} 

body > div { 
    width: 90%; 
    height: 100%; 
    background: green; 
} 

body > div > div { 
    width: 100%; 
    background: red; 
} 

Demo

Try before buy

+1

Это не работает, так что вы знаете. – spencerthayer

+2

@spencerthayer Что значит, что это не работает? Браузер масштабирует контейнер, чтобы заполнить 90% ширины и высоты при изменении размера окна по вертикали или по горизонтали. Контейнер изнутри занимает как можно больше места, заданный его родителем. – insertusernamehere

+0

все работает нормально. – theoretisch

29

Используйте атрибуты vh. Это означает высоту видового экрана и процент. Таким образом, высота: 90vh будет означать 90% высоты видового экрана. Это работает в большинстве современных браузеров.

Например.

div { 
    height: 90vh; 
} 

Вы можете отказаться от остальной части вашего глупого 100% материала на теле.

Если у вас есть заголовок, вы также можете сделать некоторые забавные вещи, например, принять его во внимание, используя функцию calc в CSS.

Например.

div { 
    height: calc(100vh - 50px); 
} 

Это даст вам 100% высоты видового экрана, минус 50px для вашего заголовка.

+1

Это полностью сработало для меня, спасибо! Вы знаете, работает ли этот метод в более старых проблемах совместимости с браузером? В частности, IE? – straubcreative

+0

Я думаю, что IE9 + будет работать. http://caniuse.com/#search=vh –

+1

Что делать, если я хочу динамически изменять ширину? –

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

  • Нет связанных вопросов^_^