Адаптивная верстка Youtube видео ролика (без использования API/плагинов)

В продолжение статьи о адаптивном показе видео с видео-хостинга YouTube. Случай, когда воспроизведением ролика не требуется управлять, позволяет отказаться от использования 3rd part плагинов или YouTube API.

Пусть у нас в верстке есть контейнер:

Инициализация

Я использую jQuery, к которому привык, но это не обязательно.

ID ролика сохраним в переменной video_id.

Собираем url со всеми нужными флажками autoplay, loop, mute, а не нужные флажки сбрасываем — rel, controls, showinfo и т.п.

Создаём youtube iframe с полученной ссылкой:

Следим за размерами видео

За размерами фрейма следит специальная функция vidRescale. Она изменяет отступы, чтобы центрировать видео и размеры, чтобы закрыть полностью «сцену», в роли которой у нас контейнер .video-container.

Значение ratio в примере — стандартное. Как получить aspect ratio для нестандартных видео — читайте тут.

Т.к. vidRescale  должна быть вызвана в определенный момент, а именно когда меняются размеры контейнера, то нужно правильно организовать её вызов. Если размеры контейнера меняются вместе с размерами окна (window), то используйте следующий код:

Если надо отслеживать только контейнер, то пишем что то вроде следующего:

Стили

Добавим вспомогательные стили:

Пример реализации

Ну и в конце живой пример, основанный на описанной выше технике.

Мало букафф? Читайте есчо !

Задача о неперекрывающихся интервалах

Июнь 7, 2023 г.

Задачи об интервалах легко решаются перебором. Но если элементов много, то нужно сообразить в каком порядке их лучше перебирать, чтобы избежать лишних вычислений. Формулируется задача так: дан массив интервалов, каждый из которых определен двумя числами ...

Читать

Меняем сортировку комментариев в Drupal 7 без views

Декабрь 2, 2016 г.

Комментарии в Drupal выводятся от старых к новым. Т.е. чтобы увидеть последний (свежий) комментарий нужно идти на самую последнюю страницу (если комментарии разбились на несколько страниц) в самый конец списка комментариев. Как изменить порядок вывода ...

Читать

Установка языка по умолчанию в drupal 6 на мультиязычном сайте

Март 29, 2012 г.

Столкнулся с интересной проблемкой в Drupal 6 при создании мультиязычного сайта. Сама мультиязычность создавалась довольно типичным способом - пара стандартных модулей locate, content translate + i18n. Для каждого языка был выбран свой префикс пути ...

Читать

Фильтрация сообщений в logcat

Январь 10, 2025 г.

Android Studio пере-изобретает способ фильтрации сообщений в logcat в очередной раз. Теперь это инструкции, которые задаются сродни ключам командной строки. ...

Читать
 

Комментарии к «Адаптивная верстка Youtube видео ролика (без использования API/плагинов)»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: