'box-sizing: border-box'을 사용하는 이유

juno·2022년 7월 18일
0

html/css

목록 보기
5/8

box model

모든 HTML 요소는 박스(box)모양으로 구성되며, 이것을 박스모델(box model)이라고 부른다.

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width">
    <title>repl.it</title>
    <link href="style.css" rel="stylesheet" type="text/css" />
    <style>
      
      .first {
        width: 300px;
        margin-bottom: 20px;
      }

      .second {
        width: 300px;
        margin-bottom: 20px;
        padding: 50px;
        border: 10px solid black;
      }

div {
  background-color: yellow;
}

    </style>
  </head>
  <body>
    <div class="first">
      첫 번째 박스, 가로 300px
    </div>
    
    <div class="second">
      두 번째 박스, 나도 가로 300px
    </div>    
  </body>
</html>

위의 코드를 실행해보면, 같은 width 300px 이라도, padding의 값에 따라 width값이 더 커진다.
이는 width값이 위 그림의 content 부분을 나타내서 그러는데 이러한 문제 때문에 개발자는 300px의 크기의 박스를 생성할려면 안쪽 padding까지 고려해야 한다.

허나, box-sizing으로 해결한다.

이러한 귀찮은 부분까지 고려하지 않기 위해 나온 게 'box-sizing: border-box'이다.
간단하게 css파일에

* {
  box-sizing: border-box;
}

이렇게만 맨 위에 작성만 하게되면, border를 기준으로 박스 크기를 정할수있어서, 안쪽 padding은 고려하지 않고 박스 모델 크기를 디자인 할 수 있다.

profile
안녕하세요 인터랙션한 웹 개발을 지향하는 프론트엔드 개발자 입니다. https://kimjunho97.tistory.com => 블로그 이전 중

0개의 댓글