Итак, я только что открыл для себя единицы просмотра, и я действительно хочу их использовать.
Первая проблема: мой элемент имеет «базовый размер» 760x670 пикселей. Я хочу использовать единицы области просмотра, чтобы масштабировать его так, чтобы либо высота была равна 100vh
, либо ширина была равна 100vw
, в зависимости от того, что меньше.
К сожалению, хотя я могу использовать 100vmin
для получения меньшего из двух, я могу применить его только к ширине или высоте, а не к обоим.
В настоящее время я использую:
#root {
width: 760px;
height: 670px;
width: 100vw;
height: calc(670vw/760);
}
Это масштабирует ширину в соответствии с размером экрана, что приводит к вертикальной прокрутке. Это не так уж плохо, но я бы предпочел, чтобы это действительно соответствовало области просмотра.
vw
юнитов нельзя использовать внутриcalc
. Я пробовал такие вещи, какheight: -webkit-calc(100vw/3)
. Единственными другими браузерами, которые поддерживают какcalc
, так и единицы просмотра, являются IE10 и Safari 6, ни один из которых не может быть установлен на моей платформе (Windows 7). - person Šime Vidas   schedule 02.01.2013@media all and (min-aspect-ratio: 760/670) { ... }
. - person Šime Vidas   schedule 02.01.2013:)
- person Šime Vidas   schedule 02.01.2013:-)
- person Šime Vidas   schedule 20.01.2013