Thief of Wealth
article thumbnail

 

 

위에 좋은 예제가 있다.

 

과연 정답은 무엇일까?

 

content box

위의 정답은 기본적으로 오른쪽처럼 그려지게 된다.width를 200px으로 설정했어도, 전체 너비가 200px이 되는것이 아니라, 

거기에 padding, border-width가 더해져서 그려지게 되기 때문이다.

이런 계산법을 content-box라고 하며, box-sizing 속성 content-box로 주게 되면 위와 같이 게산하게 된다.

즉, content-box가 기본값이다.

 

border-box

만약 위 그림에서 왼쪽 처럼 렌더링하고 싶다면 어떻게 해야할까?

box-sizing 속성을 border-box로 주면된다. (단, IE8 이상에서만 사용가능)

 

 

왜 border-box를 사용하는가?

CSS에서width 속성을 100%로 주면, 부모의 width 만큼 너비가 설정된다.

하지만 content-box일 때, width: 100%에 이어서 padding이나 border를 주게 되면, 부모의 영역을 초과해서 너비가 정해지는 문제가 생길 수 있다.

이런 문제를 해결하기 위해서는 box-sizing을 border-box로 주거나 width: auto; (아예 적용안함)로 설정하여 해결할 수 있다.

 

'개발 > Web Programming' 카테고리의 다른 글

[웹 접근성] ARIA 란?  (0) 2021.03.11
[웹 접근성] aria-label  (0) 2021.03.11
Debounce, Throttling  (0) 2021.03.07
Firebase 사용하기  (2) 2021.03.05
[redux] 리덕스 액션/리뷰서/스토어 역할 정리  (0) 2021.02.25
profile on loading

Loading...