CSS - vimeo 영상 높이 값 반응형으로 적용하기

vimeo를 삽입하다보면 iframe을 이용해서 홈페이지에 삽입하게 된다.
그런데 이게 아이프레임으로 크기를 잡아버려서 브라우저 창이 조절 될 때 안의 영상은 이상한 비율로 보여질 때가 있다.
이는 반응형웹에 적절하지 않은 사항이기 때문에 팁을 하나 얻어왔다.
참고로 처음에는 자바스크립트로 엘리먼트를 제어하는 것을 만들어서 사용해 왔으나 순수 css만으로도 충분히 구현해 낼 수 있기에 css로 처리하려고 한다.

 아래 설명을 보면서 진행해보자.

<iframe src="//player.vimeo.com/video/동영상 주소" width="500" height="281" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>

위 코드처럼 처음에는 width와 height 값이 들어가 있을 것이다. 지워라!

<iframe src="//player.vimeo.com/video/동영상 주소" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>

 이렇게 넓이/높이 값이 뺀 상태로 만든다.

이 아이프레임을 감싸는 엘리먼트 하나를 만든다.

<div id="vimeoWrap">
    <iframe src="//player.vimeo.com/video/동영상 주소" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
</div>

 위 코드처럼 만들었다면 CSS로 구성해보자.

#vimeoWrap{
     position: relative;
    padding-bottom: 56.25%; /* 16/9 ratio */
    padding-top: 30px; /* IE6 workaround*/
    height: 0;
    overflow: hidden;
    margin: 0;
  }
#vimeoWrap iframe,
#vimeoWrap object,
#vimeoWrap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

 위 코드처럼 스타일을 만들었다면 정상적으로 보여질 것이다.

youtube 영상도 코드가 있으니 아래 링크로 가서 참고하여 사용해보자.

출처 : http://andmag.se/2011/11/responsive-embeds/comment-page-1/ 

Subscribe
Notify of
guest

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

4 댓글
Oldest
Newest
Inline Feedbacks
View all comments
tamnic
tamnic
8 years ago

감사합니다. 스크립트로는 도메인문제 때문에 해결이 잘 안됐는데 여기서 참고해서 해결했어요^^ IE8에서는 높이제어가 안됐거든요:) 감사해요!!

naminsik
naminsik
4 years ago
Reply to  tamnic

4년전 댓글의 답글을 이제야 달아서 죄송합니다.
일상이 바쁘다는 핑계로 잘 관리하지 못했나 봐요 ㅠ

nanal
nanal
4 years ago

감사합니다! 덕분에 잘 해결했습니다 🙂

naminsik
naminsik
4 years ago
Reply to  nanal

댓글 주셔서 감사합니다~
잘 해결되셨다니 다행이네요!

TOP