✔Модальный блок видео на CSS3 - «Самоучитель CSS»
Наглядный пример того, как можно организовать просмотр видео в модальном блоке, исключительно средствами CSS3, без jаvascript и дополнительных изображений в оформлении.
За основу взял модальное окно на чистом CSS, кардинально ничего менять не стал, разве что видоизменил кнопку закрытия, эффект появления и фоновою заливку.
Для резинового макета модального блока использовал ширину в %. Видео поместил в встроенный div-контейнер, с параметрами обеспечивающими гарантированную адаптивность видеоплеера вставляемого через iframe, object, или embed.

HTML
Фон затемнения представлен в виде отдельного контейнера
, ели вдруг вам понадобится сделать так чтобы модальное окно и слой затемнения закрывались по клику вне окна, используйте тег .Для вызова модального видеоблока, так же как и в случае с любым модальным элементом, используем стандартную ссылку с уникальным адресом в атрибуте href, соответствующим идентификатору модального блока. При использовании на одной странице нескольких модальных блоков, просто не забывайте следить за соответствием этих значений, примерно так:
Смотреть Видео |
Для видео ВКонтакте, параметры ширины и высоты iframe обязательны, и если они не заданы, то встраиваются минимальные значения автоматически при загрузке страницы с фреймом. Так что добавляйте параметры width="95%" height="360" в фрейм, или же используйте самые большие допустимые значения, видеоблок автоматом подстроится под размеры родительского контейнера.
<!-- Модальный блок --> Это просто заголовок и краткое описание видео <!-- конец блока видео--> |
CSS
Все стили вынесены в отдельный файл, можете подключить его к странице или же скопировав содержимое вставить в общую таблицу стилей вашего сайта. Комментарии в коде, помогут разобраться вам, что к чему и зачем))).
/** стили фона затемнения **/ |
При просмотре демо, попробуйте изменять размер окна браузера и обязательно включите видео. При закрытии модального блока, проигрывание видеоролика останавливается. Способ остановки видео совсем не «кошерный», просто использовал ссылку с пустым атрибутом href=""(вижу, как переворачивает небожителей с хабра), другого более действенного и валидного решения, без подключения js, на данный момент пока не нашёл.
Обновление 19.02.2016:
С подачи NeedHate(большое ему спасибо), дабы закрыть вопросы о прекращении воспроизведения видео, после закрытия модального окна(что конечно же логично), решил расписать предложенный им способ с подключением в работу jQuery.
Метод отлично срабатывает для встроенного видео с YouTube. В первую очередь, вам понадобится подключить библиотеку jQuery (если таковая у вас отсутствует), например, с сервиса Google Code:
<</span>script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"<span style="color: #339933;">> |
Затем подключаете <!--noindex-->YouTube jаvascript Player API<!--/noindex-->:
<</span>script type="text/jаvascript" src="https://www.youtube.com/player_api"<span style="color: #339933;">> |
С помощью API jаvascript, вы сможете управлять проигрывателем Chromeless Player и встроенным проигрывателем YouTube с помощью jаvascript кода. Для нашего модального блока с встроенным видео, исполняемый js будет таким:
<</span>script<span style="color: #339933;">> |
Далее, фрейму(iframe) с видео, необходимо присвоить идентификатор, пусть это будет id="player". Кнопке закрытия модального окна, так же прописываем свой id:
<</span>a href="#close" id="stop" title="Закрыть" class="close"<span style="color: #339933;">></a<span style="color: #339933;">> |
При клике по кнопке с id="stop" будет вызвана функция player.stopVideo (), окно закроется и воспроизведение видео остановится.
В демо, данное решение можете лицезреть воочию, архив с исходниками оставил как есть.
Следует понимать, что для других видеосервисов и танцы будут другими))).
С Уважением, Андрей .
Буду всем признателен, если поддержите проект — добавив блог в исключения AdBlock и поделитесь ссылкой на запись в своих соц-сетях:
