Июнь 19, 2020 Запись была обновлена
Делаем видео фоном сайта — как за 2 шага сделать видео фоном сайта
Фон для сайта бывает различных видов: текстуры, сплошной цвет, изображение и т.д. Но фоном также еще может быть и видео! Не просто статическое изображение, а "25 изображений в секунду". Понятно то, что не любое видео подойдет для этого, но об этом мы поговорим дальше в статье. Также рассмотрим сам процесс установки, то есть как сделать видео фоном сайта с технической стороны.
Если сейчас работаете над созданием одностраничного сайта, то рекомендуем посмотреть 10 примеров продающих лендингов с полным руководством по его созданию:
Живая демонстрация того, как на фоне сайта располагается видео:
Посмотреть примерСкачать
Скриншот с примером:
Как сделать видео фоном сайта или лендинга?
1 HTML структура
Определимся со структурой. Мы будем использовать теги HTML5 для вставки видео:
Пару слов по коду:
- Строки: со 2 по 4 — блок затемнения, который содержит заголовок.
- Строки: с 5 по 8 — часть с видео.
Оба дочерних блока будут находится в абсолютном позиционировании и в блоке с классом "overlay" мы можем располагать всю информацию, которая обычно находится в первом экране любого лендинга.
2 CSS стили
Осталось правильно задать стили, чтобы видео оказалось именно на фоне первого блока:
.fullscreen-bg { overflow: hidden; z-index: -100; position: relative; height: 100%; width: 100%; padding-top:45%; } .fullscreen-bg__video { position: absolute; top: 0; left: 0; width: 100%; } .overlay { background: rgba(0,0,0,0.6); position: absolute; top:0; left:0; width: 100%; height: 100%; z-index: 4; } .overlay h1 { text-align:center; color:#fff; font-size: 70px; margin-top:17%; }
Здесь я привел стили только для первого блока на странице. В исходниках Вы можете найти стили полностью для всего демо.
Но так как интернет на мобильных устройствах по скорости уступает настольных компьютерам, то для ширины экрана менее 786px мы не будем показывать видео, а покажем лишь изображение:
@media (max-width: 767px) { .fullscreen-bg { background: url('../images/plane.jpg') center center / cover no-repeat; } .fullscreen-bg__video { display: none; } }
На этом всё!
Где взять красивые видео для фона сайта?
Рекомендую следующие видеостоки (список обновлен в октябре 2019):
- Coverr.co
- Mazwai.com
- PEXELSvideos
- Videvo.net
- Videezy.com
- Pixabay
- Free-video-footage.com
- Ignitemotion.com
- Motionelements.com
- Xstockvideo.com
- Vidsplay
- Life of Vids
После скачивания обязательно переконвертируйте видео, чтобы уменьшить его размер.
Также добавьте данную статью в закладки "CTRL+D", чтобы видеостоки были всегда под рукой.
Вывод
Установка в 2 шага. Вам лишь нужно скопировать HTML и CSS в нужное место. Но правильно подобранное видео смотрится очень красиво.
Видео на фоне хоть и не интерактивный элемент, но внимание привлекает. Чтобы еще больше завлечь своих посетителей — рекомендую изучить статью по квизам.
Позиции сайта не растут в Яндекс и Google?
Закажите полный разбор сайта по SEO + консультацию
Сделайте аудит своего сайта самостоятельно с помощью сервиса
Успехов!
С Уважением, Юрий Немец
Спасибо за ваше обращение!
Мы свяжемся с вами в течение 2-х часов (график работы: пн-пт, с 10 до 19)
За ссылки на фоны спасибочки 😎
Здравствуйте. Но куда вписывать url видео ?
Большое спасибо за урок.
Хотелось бы еще знать как можно избежать появления черного экрана вместо видео при обновлении страницы. Пытался поставить фоновое изображение, как в постере, но это не помогло.
Здравствуйте, Сергей!
Черного экрана можно избежать вставив изображение либо с помощью атрибута "poster", либо с помощью фонового изображения для блока, в котором находится видео через CSS.
Также необходимо смотреть на то, чтобы данные изображения были небольшого размера и попробовать их максимально сжать.
Не помогает поставить poster и через css также не вышло)
добрый день, как добавить видео на определенный блок, на шапку сайта например
Здравствуйте, вопрос такой ,на вордпрессе делаю сайт с загруженной темой c themeforest но никак не могу разобраться,вообщем то хочу видео в качестве фона ну или по крайней мере в качестве шапки на сайте но ничего не получается
Плохо, что не получается.
На слове вордпресс уже мог и закончить))))
а паддинг для чего не пойму в основном блоке !
Так как блок в абсолютном позиционировании необходимо обязательно задать высоту блока, иначе Вы его не увидите.
как я понял регулировка высоты обрезания (воспроизведения) видео (нижний край)
как сделать по стилю видео само в окне меньше а то оно у меня показывает как то верхний край, окно 840х377
пол видео не видно…
Добрый день, Роман!
Видео находится в блоке с классом fullscreen-bg, изменяя его размер, вы будете изменять размер видео.
Доброе время суток!
Такой вопрос… Как сделать что бы в начале не видно было плаера… а постоянно видео повторяющие!
А то видно когда заходишь на сайт в шапке видео плаер грузит видео.
Добрый день, Роман!
Необходимо сделать фоновое изображение, которое будет показываться до того момента, когда видео еще не прогрузилось. Путь до изображения задается в атрибуте "poster" в html.
Ау меня видео почему то не включается, кто может подсказать где ошибся?
http://test-eset32u.1gb.ru/#Page7
Добрый день!
В вашем случае лучше сделать следующим образом: так как пользователь может не дойти до слайда, на котором находится видео, лучше его динамически добавлять при включении данного слайда (когда он становится активным), чтобы зря не нагружать страницу.
Вы используете плагин FullPage.js. Активному слайду он добавляет класс "active", поэтому вам необходимо сделать проверку, когда данный класс будет добавлен слайду, где должно находится видео, то с помощью jQuery (можете воспользоваться функцией .html() , или просто написать на JS ), добавить в нужное место код видео.
В этом случае оно заработает.
ни слова не понял)), можете дать код и сказать куда его скопировать?)))
Если бы она была.. Эта волшебная кнопка, которая сразу делает как надо)
В вашем случае лучше они раз разобраться как это работает и сделать это. Потому что в дальнейшем сложно будет сделать что-то сложнее простого слайдера.
Здесь все достаточно просто. Вам лишь необходимо по этапам сделать то, о чем я написал. Но так как вы ничего не сделали, то помочь вам тяжело. 😉
Вы единственный из учителей интернета кто смог более менее доходчиво рассказать что и как, пожалуй задержусь на вашем сайте)) остальные просто молчали а кто и вовсе сказал не знаю в чем дело, ну значит надо учить jQuery или JS да, что бы оно заработало
Лучше всего обратите внимание на jQuery. Документацию с основами вы быстро освоите. А как освоите, поймете о чем я написал. Здесь ничего сложного нет. Если будут вопросы — пишите 🙂 !
Юрий, здравствуйте! Хотел поставить пару кнопок на видео, но ссылки почему-то не кликабельны. Подскажите, пожалуйста, в чем причина и как исправить. Ссылки все верные.
Добрый день, Михаил!
Не могу понять, что это "пару кнопок на видео"? Объясните подробнее как вы все разместили на странице.
Юрий, у меня на сайте после встраивания конфликт с оверлеем, как сделать чтобы не конфликтовало?
Добрый день!
Чтобы не конфликтовало, необходимо вам изучить данную статью — z-index.
Видео запускается без звука почему-то… Как сделать со звуком?
Здравствуйте, Андрей!
Звука нет, потому что используется атрибут muted у тега <video>:
Добрый день.
Все работало. Потом убрал muted, появился звук.
Потом что то сделал и теперь когда убираю muted, исчезает даже видео. возвращаю muted, появляется видео, но нет звука. В чем возможная причина?
Большое спасибо за статью, очень классный лендинг сделал!
Здравствуйте. Все получилось, но как сделать кнопку для включения и отключения звука? И куда именно вставить код для того чтобы на мобильных устройствах было изображение вместо видео?
Здравствуйте, Руслан!
1) Чтобы включить звук, необходимо убрать атрибут muted у тега video. Но кнопку нельзя будет нажать, потому что она находится на фоне (ее перекрывает еще один слой).
2) Для того, чтобы вместо видео на мобильных устройствах отображалось изображение, рекомендую использовать следующий PHP класс — Mobile Detect. С помощью этого класса можно определить с помощью чего посетитель зашел на сайт и относительно этих данных показать ему изображение, а не video.
Может кому надо: бесплатные видеофоны — здесь)
Что я только не пытался сделать,никак не получается.
Ширина видео выходит за границы сайта…
Ты ошибся. В части, где был html код ты написал, что надо "<video loop muted autoplay poster="video/plane.jpg" class="fullscreen-bg__video">". Правильное решение: "<video loop muted autoplay poster="images/plane.jpg" class="fullscreen-bg__video">".
а на мобилке работать вообще не будет, или как я понял работать будет, только видео сразу не запустится из за скорости интернета.
На мобилке будет работать этот вариант: Responsive Full Background Image Using CSS
Вот еще раз спасибо, что Вы есть! Кое что адаптировали и подкрутили… Теперь работает практически на любых устройствах….
Здравствуйте, скорее всего очень глупый вопрос, но не могли вы направить куда-то или подсказать мне, если у меня битрикс:
-куда записывать CSS ?
Добрый день. Отличная статья, можете по-подробнее объяснить, как сделать, чтобы на фоне этого видео можно было кнопки нажимать, а то они под слоем и недоступны.
Разобрался, надо у трех слоев указать индексы
.fullscreen-bg z-index: 1;
.fullscreen-bg__video z-index: 1;
.overlay z-index: 30;
В слое класса .overlay как раз и располагаются кнопки. Теперь все работает.
Добрый день. Подскажите пожалуйста, какие именно должны быть требования к самому видео: разрешение, кол-во кадров в сек, расширение файла, тип кодирования (.h264, MPEG или h265 и т.д) и т.д. Дело в том что видео загрузил на сайт, но оно через раз работает воспроизводится. Бывает на 2-х одинаковых компах: на одном срабатывает, на другом — нет. Уже по всякому конвертил видео — безрезультано.
а в сафари оно не будет работать ?
Здравствуйте! А подскажите, пожалуйста, можно ли как-то убрать значок "открыть видео в новом окне", который всплывает при наведении на видео? Он портит весь эффект фона =(
Автор, спасибо тебе
Здравствуйте! Подскажите, как сделать так, чтоб текст был виден только после наведения на видео? Это делается на javascript?
Ну и зачем ты более тяженое mp4 поставил первым????
Ну и зачем ты более тяжелое mp4 поставил первым????
при таком способе не работают ссылке на фоне. Что делать?
надо у трех слоев указать индексы
.fullscreen-bg z-index: 1;
.fullscreen-bg__video z-index: 1;
.overlay z-index: 30;
В слое класса .overlay как раз и располагаются кнопки. Теперь все работает.
У меня на Сафари видео показывается на половину, не понимаю почему, в других браузерах всё ок, как исправить?
https://central-platform.ru/ — вот сайт, помогите исправить, чтобы на сафари тоже отображалось как надо. Заранее спасибо!
Здравствуйте!
Делаю все, как в статье, но под видео большой отступ.
Изменяю у fullscreen-bg параметр padding-top: 45%; (делаю меньше), отступ пропадает. Но если уменьшить окно браузера, то появляется опять внизу под видео отступ.
Не подскажите, как победить эту проблему?
Буду благодарен советам.