Jump to content
  • 0

Вписать видео в размер окна браузера


multidem
 Share

Question

Подскажите пож, существует ли  способ (в теге <video>) задать размер видео по размеру браузера. Чтобы изменяя размер окна браузера видео оставалось "вписано", при этом масштабировалось и нигде не появлялись пустоты.

Вот что у меня максимум получилось: http://romaxprom.by/tmp/video/vd.html

Ролик mp4, смотрите в Хроме.

Если окно сделать узким, видео уходит вверх, а снизу появляется пустота.  

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

Только стилями.

Что-то типа

position: fixed;
top: 50%;
left: 50;

transform: translate(-50%, -50%);

min-width: 100%;
min-height: 100%;

или

position: fixed;
top: 0;
left: 0;

width: 100%;
height: 100%;

object-fit: cover;

 

Edited by Igor Schnaider
  • Like 1
Link to comment
Share on other sites

  • 0

Во-первых, чтобы height: 100% применился, должна быть явно задана высота родителя (и не через min-height, а конкретно через height). Если нужно 100% от окна браузера, height: 100% должно стоять у всей цепочки предков, вплоть до html. Иначе сам контейнер video не растянется.

А уже когда он растянулся, можно применить object-fit: fill или cover, смотря какой эффект масштабирования нужен (искажение или обрезка лишнего).

Link to comment
Share on other sites

  • 0

И вот я попробовал. Все работает! Спасибо! Вот что получилось: http://romaxprom.by/tmp/video/vd_fill.html

Подскажите еще момент, пож. Я хотел бы разделить экран на 2 части и слева сделать меню сайта НЕПОДВИЖНОЕ (чтобы оно не прокручивалось с сайтом), а вправо вписать видео на весь размер правой части. У меня не получается зафиксировать левую панель, она прокручивается вместе с контентом справа. И почему-то у видео появился отступ (оно не доходит до краев браузера). Вот результат: http://romaxprom.by/tmp/video/vd1.html

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Similar Content

    • By iBars
      В шапке стоит видео, которое я через JS подгружаю и подгоняю под размер экрана. Но при первой загрузке страницы видео не растягивается по ширине экрана. Только если ресайзнуть окно. Что делать?
      Тестируемое разрешение экрана 1366x768. Вот сам сайт и код:
      var scWidth; var scHeight; function window_resize() { scWidth = (window.innerWidth > 0) ? window.innerWidth : screen.width; scHeight = (window.innerHeight > 0) ? window.innerHeight : screen.height; $('.scroll_bottom').css('display', (scHeight < scWidth ? 'block' : 'none')); var mainmenu = $('.mainmenu'); var mainvideo = $('#mainvideo'); if (scWidth > 767) { if (mainvideo.length < 1) { mainmenu.prepend('<video muted autoplay loop class="video" id="mainvideo"><source src="/assets/video/bg.mp4" type="video/mp4"></video>'); mainvideo = $('#mainvideo'); } mainvideo.attr('style', ''); if (mainvideo.height() < mainmenu.height()) { // Делаем по всей высоте scale = mainmenu.height() / mainvideo.height(); mainvideo.css('height', mainmenu.height() + 'px'); mainvideo.css('width', (mainvideo.width() * scale) + 'px'); if (mainvideo.width() > mainmenu.width()) { trim = (mainvideo.width() - mainmenu.width()) / 2; mainvideo.css('left', -trim + 'px'); } } else { // Делаем по всей ширине scale = mainmenu.width() / mainvideo.width(); mainvideo.css('width', mainmenu.width() + 'px'); mainvideo.css('height', (mainvideo.height() * scale) + 'px'); if (mainvideo.height() > mainmenu.height()) { trim = (mainvideo.height() - mainmenu.height()) / 2; mainvideo.css('top', -trim + 'px'); } } } else if (mainvideo.length) { mainvideo.remove(); } } window_resize(); $(window).resize(window_resize);  
      В атрибуте style ему задана правильная ширина, но само видео почему-то по ней не растянулось. Только после ресайза окна растягивается
    • By ows.nightwolf
      Всем доброго времени суток. В процессе работы над очередным проектом столкнулся с проблемой: есть элемент video, который расположен внутри элемента для которого заданы transform: translateX и transition. Если перейти в полноэкранный режим видео, а потом его свернуть (вернуть в нормальный режим), то родительский контейнер анимируется. Копаясь в консоли разработчика обнаружил, что на время полноэкранного режима для всех родителей тега video сбрасываются некоторые css стили (в т.ч. transform и transition), что похоже и приводит к появлению анимаций после выхода из fullscreen. Применение флага important к моим стилям результата не принесло (кроме того что после этого еще и само видео при переходе в полноэкранный режим начало анимироваться). Прошу помочь мне разобраться с этим нелегким делом.
      Пример проблемы: https://codepen.io/ows_nightwolf/pen/mmeByp
    • By Antoshka007
      Всем привет!
      Заметил такую особенность, что при удалении тега <video> со страницы и даже при обnull'ении переменной видео все равно продолжает скачиваться с сервера. 
      Как можно оставить загрузку?
      Спасибо!
    • By Zakonoposlushniy
      Здравствуйте! 

      Не могу понять, как убрать чёрные полосы по бокам видео. 
      Вот скриншот
      А вот сам код : 
       
      <div class="video-container"> <iframe src="https://vid.me/e/VWeY?stats=1" height="315" width="560" allowfullscreen="" frameborder="0"> </iframe> </div>  
      .video-container { position: relative; padding-bottom: 58.25%; padding-top: 30px; height: 0; overflow: hidden; } .video-container iframe { position: absolute; top:0; left: 0; width: 100%; height: 100%; } Благодарю за ответ!
    • By alex_web64
      Здравствуйте.
      Каким-то образом можно остановить воспроизведение видео, которое выводиться с помощью iframe? И при возможности отключить его автозапуск.
      Нашел решение менять src, но в хроме оно все равно начинает воспроизводится.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy