loading

HTML 태그의 요소의 치수 값을 구하려고 할 때, 정확한 개념을 모르면 이게 왜 이렇게 넓이와 높이 값이 나오는지 헷갈린다. 

 

정확하게 요소의 어떤 부분의 값을 가져오는지 파헤쳐보자!

들어가기 앞서 위 메서드는 어떤 의미를 갖는지 확인 후 예제를 통해서 알아보자.

 

▶ 메서드

메서드 설명
$(선택자).width() 요소의 넓이 값
$(선택자).height() 요소의 높이 값
$(선택자).innerWidth() 요소의 패딩값을 포함한 넓이 값
$(선택자).innerHeight() 요소의 패딩값을 포함한 높이 값
$(선택자).outerWidth() 요소의 패딩 + 보더(border) 값을 포함한 넓이 값
$(선택자).outerHeight() 요소의 패딩 + 보더(border) 값을 포함한 높이 값

 

예제)

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
	<style type="text/css">
		#myDiv {
		    width:500px;
		    height:100px;
		    padding:50px;
		    border:30px solid red;
		    font-size: 50pt;
		}
	</style>
	<script type="text/javascript">
		$(document).ready(function(){
			var $myDiv = $('#myDiv');
			var $results = $('#results');
		    $('<p>Computed width: ' + $myDiv.width() + '</p>').appendTo($results);
		    $('<p>Computed height: ' + $myDiv.height() + '</p>').appendTo($results);
		    $('<p>Inner width: ' + $myDiv.innerWidth() + '</p>').appendTo($results);
		    $('<p>Inner height: ' + $myDiv.innerHeight() + '</p>').appendTo($results);
		    $('<p>Outer width: ' + $myDiv.outerWidth() + '</p>').appendTo($results);
		    $('<p>Outer height: ' + $myDiv.outerHeight() + '</p>').appendTo($results);
		});
	</script>	
</head>
	<body>
		<div id="results"></div>
		<div id="myDiv">기본 텍스트</div>
	</body>
</html>

 

위 예제를 실행해 보면 요소의 사이즈가 출력을 볼 수가 있다.

결과 화면을 보면

 

결과화면

 

요소의 width : 500

요소의 height : 100

요소의 innerWidth : 600

요소의 innerHeight : 200

요소의 outWidth : 660

요소의 outHeight : 260

 

이다.

 

이렇게 나오는 이유는

 

innerWidth = width(500) + padding(100)

innerHeight = height(100) + padding(100)

 

outerWidth = width(500) + padding(100) + border(60)

outerHeight = height(100) + padding(100) + border(60) 

 

이렇게 수치가 적용이 된다.

 

 

반응형

+ Recent posts