Я буквально тяну свои волосы с этой проблемой, поэтому любая помощь будет высоко ценится.
У меня есть HTML5 <video>
, которым я хочу быть: -
- Полная ширина - элементы управления всегда должны составлять 100% шириныэкран.
- Макс. высота пикселя - высота видео не увеличивается больше, чем высота пикселя видео.
- Изменение размера по горизонтали до границ - при изменении размера браузера (при сохранении соотношения).
- Изменение размера по вертикали до границ - при изменении размера браузера по вертикали (при сохранении соотношения).
Это то, что я до сих пор: -
html, body, .page {
height: 100%;
background-color: #ccc;
padding: 0;
margin: 0;
}
video { width: 100%; height: auto; }
<html>
<body>
<div class="video-content">
<video style="max-height: 320px;" controls> <!-- width="320" height="200" -->
<source src="http://download.blender.org/peach/bigbuckbunny_movies/BigBuckBunny_320x180.mp4" type="video/mp4" />
</video>
</div>
</body>
</html>
Таким образом, это удовлетворяет (1) т.е. элементы управления являются полной шириной экрана и (2) высота видео не больше высоты разрешениявидео (320
пикселей).
При горизонтальном изменении размера браузера (3) также выполняется.
Однако при изменении размера по вертикали возникают следующие проблемы: -
Обратите внимание на полосу прокрутки (в отличие от изменения размера видео).
Так что, если я обновлю CSS с
video { width: 100%; height: auto; }
... до ...
video { width: 100%; height: 100%; }
... тогда все условия выполняются, кроме (3) на этот раз, т.е. между элементами управления и фактическим видео есть промежуток: -
Если бы я мог объединить 100%
и auto
в атрибут height
тега <video
, это, вероятно, исправило бы это.Мог бы что-то взломать вместе в JavaScript, но мое внутреннее чувство состоит в том, что я делаю что-то глупое.
Заранее благодарим за любые советы / помощь!