콘텐츠로 건너뛰기

반응형 블로그 동영상 자동 크기 조절 방법

반응형 블로그 에서 유튜브 등의 사이트에서 링크가 아닌 바로 시청이 가능한 소스를 가져올 때 동영상 크기가 맞지 안아 본문 범위를 벗어나 잘리거나 다른 영역을 침법 하는 경우가 있는데 유동적인 넓이에 따라 동영상의 사이즈도 같이 가로, 세로 조절되게 하는 제가 아는 두가지 방법입니다.

반응형 블로그 동영상

CSS로 적용하기

<iframe width=”853″ height=”480″ src=”https://www.youtube.com/embed/N4PUaKhcB_k” frameborder=”0″ allowfullscreen=””></iframe>

예전에 외국 어느 사이트에서 퍼온 방식으로 반응형 블로그 작성중인 글에 동영상을 삽일 할때 동영상 소스를 <div class=”video”> 동영상 코드 </div> 태그로 감싸줍니다.

.video {
	position: relative; 
	padding-bottom: 56.25%;
	height:0; 
	overflow:hidden; 
}
.video iframe,
.video object,
.video embed { 
	position: absolute; 
	top: 0; 
	left: 0;
	width: 100%; 
	height:100%; 
}

스킨편집에서 css에 위 속성을 추가 해줍니다. 가로 100% 세로 16:9 비율의 div 태그안에서 동영상은 가로,세로 100% 가 되어 가로 폭이 줄어 들면 세로는 비율로 같이 줄어 들게 됩니다.

jquery로 적용하기

<script src="http://t1.daumcdn.net/tistory_admin/lib/jquery-2.1.4.min.js">
&lt;script type="text/javascript"&gt;
$(document).ready(function() {

	var $allVideos = $("iframe[src^='//player.vimeo.com'], iframe[src^='//www.youtube.com'], object, embed, iframe[src^='http://www.youtube.com'], iframe[src^='https://www.youtube.com'], iframe[src^='http://videofarm.daum.net'], iframe[src^='https://videofarm.daum.net'], iframe[src^='//videofarm.daum.net']"),
			$fluidEl = $(".entry");
	$allVideos.each(function() {
		$(this)
			.attr('data-aspectRatio', this.height / this.width)
			.removeAttr('height')
			.removeAttr('width');
	});
	$(window).resize(function() {
		var newWidth = $fluidEl.width();
		$allVideos.each(function() {
			var $el = $(this);
			$el
				.width(newWidth)
				.height(newWidth * $el.attr('data-aspectRatio'));
		});
	}).resize();

});	

HTML에 적용하는 방식으로 티스토리 반응형 #2 추출한 내용입니다. 스크립트 추가만 해놓으면 별도의 div 태그 등이 필요 없이 동영상 소스만 적용해도 폭에 맞춰집니다.

이미 jquery를 불러왔다면 <script src=”http://t1.daumcdn.net/tistory_admin/lib/jquery-2.1.4.min.js”></script> 부분은 불필요합니다.

$fluidEl = $(“.entry”); 부분의 “.entry” 는 자신의 본문 부분의 클래스 명을 적어 주셔야 합니다.

<head>…….</head> 사이 또는 </body>위에 위치하면 됩니다.

&lt;div id="container"&gt;
	&lt;div id="header"&gt;
		&lt;h1&gt;01. 블로그 제목&lt;/h1&gt;
		&lt;div class="menu"&gt;02. 블로그 메뉴&lt;/div&gt;
	&lt;/div&gt; &lt;!-- header close --&gt;
	&lt;div id="content"&gt;
		&lt;div class="searchList"&gt;11. 검색 결과 리스트&lt;/div&gt;
		&lt;div class="searchRplist"&gt;12. 검색 결과 댓글 리스트&lt;/div&gt;
		&lt;div class="locallog"&gt;13. 위치 로그&lt;/div&gt;
		&lt;div class="taglog"&gt;14. 태그 클라우드&lt;/div&gt;
		&lt;div class="guestbook"&gt;15. 방명록
			&lt;div class="guestWrite"&gt;15-1. 방명록 글쓰기&lt;/div&gt;
			&lt;div class="guestList"&gt;15-2. 방명록 리스트&lt;/div&gt;
		&lt;/div&gt;&lt;!-- guestbook close --&gt;
		&lt;div class="entryNotice"&gt;16. 공지사항 글&lt;/div&gt;
		&lt;div class="entryProtected"&gt;17. 보호 글&lt;/div&gt;
		
		&lt;div class="entry"&gt;18. 글
			&lt;div class="titleWrap"&gt;18-1. 글 제목 | 카테고리 | 작성일 | 글 관리&lt;/div&gt;
			&lt;div class="article"&gt;18-2. 글&lt;/div&gt;
			&lt;div class="tagTrail"&gt;18-3. 글 관련 태그&lt;/div&gt;
			&lt;div class="actionTrail"&gt;18-4. 트랙백 | 댓글&lt;/div&gt;
			&lt;div class="trackback"&gt;18-5. 트랙백&lt;/div&gt;
			&lt;div class="code_comment"&gt;18-6. 댓글
				&lt;div class="code_commentList"&gt;18-6-1. 댓글 리스트&lt;/div&gt;
				&lt;div class="code_commentWrite"&gt;18-6-2. 댓글 쓰기&lt;/div&gt;
			&lt;/div&gt;
		&lt;/div&gt;&lt;!-- entry close --&gt;		
		&lt;div class="entry"&gt;19. 페이지&lt;/div&gt;
	&lt;/div&gt; &lt;!-- content close --&gt;	
	&lt;div id="sidebar"&gt;
	&lt;/div&gt; &lt;!-- sidebar close --&gt;
	&lt;div id="footer"&gt;
	&lt;/div&gt; &lt;!-- footer close --&gt;	
&lt;/div&gt; &lt;!-- container close --&gt;

반응형 블로그가 위와 같은 형식일 때 “.container”에 적용하면 전체폭 크기의 동영상이 노출돼 잘리거나 겹쳐 코드 적용의 의미가 없어지고 “.entry”, “.article” 입력하면 본문에서만 적용됩니다,

 “.content”는 방명록 등 본문 페이지에 출력되는 항목들은 모두 적용되지만 방명록 등에 기본적으로 소스 적용이 안되어 별 의미가 없지만 공지사항에는 필요할 수도 있겠습니다.

제 블로그는 본문에서만 적용 되도록 $fluidEl = $(“.entry”); 적용하였습니다.

반응형 블로그에 위 두가지 방법중 하나를 적용하시면 됩니다.

워드프레스 네이버 검색 색인현황 블로그 등록 11일차
워드프레스 네이버 검색 노출을 위해 운영 중인 워프 블로그를 네이버 웹마스터 도구에 등록하고 11일 차가 지난 시점입니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다