(CSS) box-sizing
box-sizing
CSS의 box-sizing 속성에 대해 공부해보자.
box-sizing 속성이란
box-sizing 속성은 요소의 height 와 width의 값이 어떻게 계산될지를 정해주는 속성이다. height, width 값을 측청할때 padding 과 border를 포함하여 측정할지 배제하여 측정할지를 정할 수 있다.
box-sizing 속성은 다음 값들을 가질 수 있다.
-
content-box
오직 콘텐츠를 기준으로 height, width값을 측정한다. border, padding은 포함하지 않는다. default 값이다.
-
border-box
border, padding, 콘텐츠 모두를 포함하여 height, width값을 측정한다.
예제
예제를 통해 살펴보자.
- content-box
<!DOCTYPE html>
<html>
<head>
<style>
* {
margin: 10px;
box-sizing: content-box
}
#content {
border: 10px solid;
width: 150px;
}
#border {
border: 30px solid;
width: 150px;
}
</style>
</head>
<body>
<div id="content">box</div>
<div id="border">box</div>
</body>
</html>
width값을 모두 150px으로 설정했지만 border 크기 차이로 인해 두 박스의 크기가 다름을 볼 수 있다. content-box는 padding, border를 제외한 콘텐츠의 크기만 측정하도록 하기 때문이다.
- border-box
<!DOCTYPE html>
<html>
<head>
<style>
* {
margin: 10px;
box-sizing: border-box
}
#content {
border: 10px solid;
width: 150px;
}
#border {
border: 30px solid;
width: 150px;
}
</style>
</head>
<body>
<div id="content">box</div>
<div id="border">box</div>
</body>
</html>
width값을 모두 150px으로 설정했다. border-box는 padding, border를 포함하여 크기를 측정하므로 border 크기에 관계없이 두 박스의 크기가 같게 출력된다.