Шаг 1: Создание обертки для видео
<div class="video-container">
<iframe src="https://www.youtube.com/embed/klZNNUz4wPQ" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
Шаг 2: Добавление стилей для видео
.video-container {
overflow: hidden;
position: relative;
width: 100%;
/* Высота блока будет зависеть от соотношения сторон */
}
.video-container::after {
padding-top: 56.25%; /* Соотношение сторон 16:9 */
display: block;
content: '';
}
.video-container iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
Пояснение
.video-container
: Этот блок оборачивает видео и контролирует его размеры. Устанавливая position: relative
и width: 100%
, мы делаем его адаптивным по ширине. .video-container::after
: Используя псевдоэлемент ::after
и устанавливая padding-top: 56.25%
, мы создаем скрытый блок, высота которого зависит от ширины контейнера, что в свою очередь обеспечивает нужное соотношение сторон 16:9. Для видео в формате 4:3 значение padding-top следует изменить на 75%. iframe
: Мы позиционируем iframe абсолютно ( position: absolute
) внутри обертки и растягиваем его на всю ширину и высоту контейнера.
Когда нужно другое соотношение сторон
padding-top
.video-container::after {
padding-top: 75%; /* Соотношение сторон 4:3 */
}