Несколько дней искал решение только для CSS для поддержания соотношения сторон div. Важная часть заключается в том, что высота div должна соответствовать высоте окна браузера (без прокрутки и без скрытия переполнения), а проценты ширины должны корректироваться, чтобы сохранить правильное соотношение сторон. Все, что я нашел до сих пор (в основном трюк с отступами), использует ширину родительского элемента для сохранения аспекта и добавляет много дополнительного пространства под div, особенно в полноэкранном режиме на больших дисплеях.
На самом деле пытаюсь избежать javascpript.
Вот моя базовая установка:
::Edit:: добавлена ссылка на jsfiddle -- http://jsfiddle.net/SUbYB/ ::Edit 2:: просто используя jQuery для обработки заданной ширины div на основе высоты. Спасибо всем!
таблица стилей
body, html{
width: 100%;
height: 100%;
max-height: 100%;
max-width: 100%;
}
.super-container{
position: relative;
width: 69.8%;
height: 95%;
max-width: 2008px;
margin: 0 auto;
padding: 0 15.1% 0 15.1%;
background: rgba(200,200,200,.2);
}
.aspect-container{
position: relative;
display: block;
height: 95%;
margin: 0 auto;
background: rgba(200,200,200,.4);
}
.aspect-critical-content{
position: absolute;
top:0; right: 0; bottom: 0; left: 0;
background: rgba(200,0,0,.2);
}
и HTML
<html>
<head>
</head>
<body>
<div class="super-container">
<div class="aspect-container">
<div class="aspect-critical-content">
</div>
</div>
</div>
</body>
</html>
Спасибо за любую помощь заранее!