Responsive YouTube Video Embeds
New Courses Coming Soon
Join the waiting lists
How to embed a YouTube video in your site and have it responsive, so it scales down on a mobile device
The problem with embedding YouTube videos is that they are an iframe
and iframes need to be given an exact height and width otherwise they will look funky.
And we need to keep the proportions, based on the video aspect ratio.
To have a YouTube video be displayed responsive in your page, first wrap it into a container div:
<div class="video-container">
<iframe src="https://www.youtube.com/embed/...." frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
Then add this CSS to your site:
.video-container {
overflow: hidden;
position: relative;
width:100%;
}
.video-container::after {
padding-top: 56.25%;
display: block;
content: '';
}
.video-container iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
See that magic number, 56.25%
? That’s needed as a padding when the aspect ratio of a video is 16:9. (9 is 56.25% of 16).
If your video is 4:3 for example, set it to 75%.
→ Get my CSS Handbook
→ Read my CSS Tutorial on
The Valley of Code
Here is how can I help you:
- COURSES where I teach everything I know
- CODING BOOTCAMP cohort course - next edition in 2025
- THE VALLEY OF CODE your web development manual
- BOOKS 17 coding ebooks you can download for free on JS Python C PHP and lots more
- Interesting links collection
- Follow me on X