Responsive YouTube Video & Object
유튜브와 같은 미디어는 고정된 높이와 너비를 제어하여 추가하기 때문에 브라우저 크기나 장치의 폭에 따라 크기를 조정할 필요가 있을 경우 문제가 될 수 있습니다.
다시 말해, 반응형 웹에서 일반적인 유튜브 소스코드를 추가할 시에 모바일,태블릿,스크트톱에서 원치않는 사항에 직면하게 될 것입니다.
이렇듯 반응형 웹에서 유튜브 동영상과 같은 미디어를 다루는 방법에 대해 간단히 알아봅니다.
일반적인 마크업 구조
유튜브 동영상을 삽입시에 다음과 같은 마크업을 할 수 있습니다.
<div class="video-container">
<iframe src="http://www.youtube.com/embed/dFVxGRekRSg" frameborder="0" width="560" height="315"></iframe>
</div>
위와 같이 유튜브 소스를 아이프레임으로 삽입시에 아이프레임을 감싸주는 부모 컨테이너와 같은 요소가 필요합니다.
CSS 구성
.video-container {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
.video-container iframe,
.video-container object,
.video-container embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
위 스타일중 padding-bottom: 56.25%
는 비율에 따라 작성한 것입니다.
예를 들어, 가장 일반적인 화면비율 16 : 9
를 많이 사용한다고 보았을 때 (9/16) * 100% = 56.25% 가 될 것입니다.
그리고 미디어 요소를 감싼 컨테이너 요소에 높이값(height: 0)을 주지 않고 padding-bottom을 이용하여 높이값을 설정하게 됩니다.
다음으로 미디어 요소에 절대 위치값을 설정하여 감싼 부모요소에 가득차도록 속성값들을 지정해 줍니다.
혹시 화면 비율이 조금 맞지 않는다거나 각 디자인 상황에 적합하도록 미디어의 부모 요소에 padding-top
을 이용하여 추가해 줄 수 있습니다.
즉, 높이값의 미세한 조정은 padding-top
을 이용할 수 있습니다.
여기서 화면 비율을 16 : 9로 정하였으나 4:3, 2:1 등 디자인 상황에 적합한 비율로 percentage(%)를 계산하면 될 것입니다.
위 코드에서는 padding-bottom으로 높이값을 지정했으나 높이값을 반대로 padding-top으로 지정해도 결과는 마찬가지이다.
대신 높이값을 padding-top, padding-bottom 값중에 하나를 선택하여 지정했다면 높이값의 미세한 조정은 그 반대가 되어야 할 것이다.
'StyleSheet > CSS' 카테고리의 다른 글
Match Height & Element Queries (0) | 2016.11.01 |
---|---|
Bootstrap Form Style Collection (0) | 2016.11.01 |
CSS - 반응형 리스트 타입 #2 (0) | 2016.09.30 |
CSS - 반응형 썸네일 리스트 타입 #1 (0) | 2016.09.30 |
반응형 말줄임(text ellipsis) 효과 (0) | 2016.09.30 |