<img>의 경우 width 속성을 설정해주면 이미지 비율에 따라서 height가 자동으로 설정된다.
때문에 width를 100%로 하면 부모 엘리먼트의 width에 따라 비율을 유지하면서 이미지 크기를 조절할 수 있게 된다.
그러나 <iframe>은 그렇지 않다.
유튜브 영상을 불러올 때에는 <iframe>을 사용하고 유튜브 영상의 크기를 반응형으로 조절하려면 다른 방법이 필요하다.
<div id="area">
<iframe id="video" src="https://www.youtube.com/embed/ZbZSe6N_BXs" />
</div>
위처럼 #area로 <iframe>을 감싸서 #area의 크기에 iframe 크기를 맞추는 방법이 있다.
먼저 iframe의 width와 height를 100%로 한다.
#area의 padding-bottom에 % 값을 줘서 #area의 가로세로 비율을 조절한다.
유튜브 영상의 비율인 16:9로 하려면 padding-bottom에 56.25%를 넣는다.
#area {
position: relative; /* absolute는 부모가 relative일 때 부모를 따라간다. */
width: 100%;
padding-bottom: 56.25%; /* 16:9 비율 */
}
#video {
position: absolute;
width: 100%; /* 부모에 맞게 꽉 채운다. */
height: 100%;
}
이제 #area의 부모 width 크기에 따라 비율이 유지되면서 #area의 크기가 달라지고 iframe인 유튜브 영상의 비율이 깨지지 않는다.
'CSS > 예제' 카테고리의 다른 글
이미지에 width와 height 값을 비율에 맞지 않게 넣더라도 찌그러지지 않게 하는 방법 (0) | 2021.05.01 |
---|---|
CSS position에서 relative와 absolute의 차이 (0) | 2020.06.09 |
박스(div)의 내용과 겹치는 박스를 만드는 방법 (0) | 2020.06.07 |
엘리먼트를 배경처럼 활용하는 CSS 예제 (0) | 2020.03.14 |
CSS 스마트폰 그라데이션 상단바 예제 (0) | 2020.03.13 |