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/
감사합니다. 스크립트로는 도메인문제 때문에 해결이 잘 안됐는데 여기서 참고해서 해결했어요^^ IE8에서는 높이제어가 안됐거든요:) 감사해요!!
4년전 댓글의 답글을 이제야 달아서 죄송합니다.
일상이 바쁘다는 핑계로 잘 관리하지 못했나 봐요 ㅠ
감사합니다! 덕분에 잘 해결했습니다 🙂
댓글 주셔서 감사합니다~
잘 해결되셨다니 다행이네요!