본문 바로가기

이것 저것 공부/CSS

Box-sizing

box-sizing CSS 속성은 요소의 너비와 높이를 계산하는 방법을 지정한다.

 

테두리나 패딩이 있다면 이것을 고려하여 크기를 설정하여야 합니다.

그럴 때 box-sizing 속성을 사용합니다.

 

content-box와 border-box가 있다.

content-box는 CSS 표준이 정의한 초기 기본 값이고 width와 height 속성이 콘텐츠 영역만 포함하고 콘텐츠 영역에 테두리와 패딩이 포함되지 않는다. 그러나 border-box의 경우 패딩과 테두리를 추가되면 콘텐츠 영역이 줄어든다 그러나 마진은 포함하지 않는다..

 

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <!-- https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing -->
    <style>
      div {
        width: 160px;
        height: 80px;
        padding: 20px;
        border: 8px solid red;
        background: yellow;
      }
    
      .content-box {
        box-sizing: content-box;
        /* Total width: 160px + (2 * 20px) + (2 * 8px) = 216px
         Total height: 80px + (2 * 20px) + (2 * 8px) = 136px
         Content box width: 160px
         Content box height: 80px */
      }
    
      .border-box {
        box-sizing: border-box;
        /* Total width: 160px
         Total height: 80px
         Content box width: 160px - (2 * 20px) - (2 * 8px) = 104px
         Content box height: 80px - (2 * 20px) - (2 * 8px) = 24px */
      }
    </style>
  </head>
  <body>
    <div class="content-box">Content box</div>
    <br>
    <div class="border-box">Border box</div>
  </body>
</html>

위의 코드는 MDN 예제이다.

https://developer.mozilla.org/ko/docs/Web/CSS/box-sizing

 

box-sizing - CSS: Cascading Style Sheets | MDN

box-sizing CSS 속성은 요소의 너비와 높이를 계산하는 방법을 지정합니다.

developer.mozilla.org

 

주석을 보면 이와 같이 나오는 이유를 자세히 알 수 있다.

'이것 저것 공부 > CSS' 카테고리의 다른 글

요소의 가운데 정렬  (0) 2021.09.01
Position Sticky VS Fixed  (0) 2021.08.31
Position Relative vs Absolute  (0) 2021.08.31