CSS 튜토리얼

CSS 홈 CSS 소개 CSS 구문 CSS 선택기 CSS 방법 CSS 주석 CSS 색상 CSS 배경 CSS 테두리 CSS 여백 CSS 패딩 CSS 높이/너비 CSS 상자 모델 CSS 개요 CSS 텍스트 CSS 글꼴 CSS 아이콘 CSS 링크 CSS 목록 CSS 테이블 CSS 디스플레이 CSS 최대 너비 CSS 위치 CSS Z-색인 CSS 오버플로 CSS 플로트 CSS 인라인 블록 CSS 정렬 CSS 결합기 CSS 의사 클래스 CSS 의사 요소 CSS 불투명도 CSS 탐색 모음 CSS 드롭다운 CSS 이미지 갤러리 CSS 이미지 스프라이트 CSS 속성 선택기 CSS 양식 CSS 카운터 CSS 웹사이트 레이아웃 CSS 단위 CSS 특수성 CSS !중요 CSS 수학 함수

CSS 고급

CSS 둥근 모서리 CSS 테두리 이미지 CSS 배경 CSS 색상 CSS 색상 키워드 CSS 그라디언트 CSS 그림자 CSS 텍스트 효과 CSS 웹 글꼴 CSS 2D 변환 CSS 3D 변환 CSS 전환 CSS 애니메이션 CSS 도구 설명 CSS 스타일 이미지 CSS 이미지 반사 CSS 객체 맞춤 CSS 객체 위치 CSS 마스킹 CSS 버튼 CSS 페이지 매김 CSS 다중 열 CSS 사용자 인터페이스 CSS 변수 CSS 상자 크기 조정 CSS 미디어 쿼리 CSS MQ 예 CSS 플렉스박스

CSS 반응형

RWD 소개 RWD 뷰포트 RWD 그리드 보기 RWD 미디어 쿼리 RWD 이미지 RWD 비디오 RWD 프레임워크 RWD 템플릿

CSS 그리드

그리드 소개 그리드 컨테이너 그리드 항목

CSS SASS

SASS 튜토리얼

CSS 예제

CSS 템플릿 CSS 예제 CSS 퀴즈 CSS 연습 CSS 인증서

CSS 참조

CSS 참조 CSS 선택기 CSS 함수 CSS 참조 청각 CSS 웹 안전 글꼴 CSS 애니메이션 가능 CSS 단위 CSS PX-EM 변환기 CSS 색상 CSS 색상 값 CSS 기본값 CSS 브라우저 지원

CSS 상자 크기 조정


CSS 상자 크기 조정

CSS box-sizing속성을 사용하면 요소의 전체 너비와 높이에 패딩과 테두리를 포함할 수 있습니다.


CSS box-sizing 속성 없이

기본적으로 요소의 너비와 높이는 다음과 같이 계산됩니다.

너비 + 패딩 + 테두리 = 요소의 실제 너비
높이 + 패딩 + 테두리 = 요소의 실제 높이

이것은 다음을 의미합니다. 요소의 너비/높이를 설정할 때 요소가 설정한 것보다 더 크게 나타나는 경우가 많습니다(요소의 테두리와 패딩이 요소의 지정된 너비/높이에 추가되기 때문입니다).

다음 그림은 지정된 너비와 높이가 같은 두 개의 <div> 요소를 보여줍니다.

이 div는 더 작습니다(너비 300px, 높이 100px).

이 div는 더 큽니다(너비도 300px이고 높이도 100px임).

위의 두 <div> 요소는 결과에서 다른 크기로 끝납니다(div2에 지정된 패딩이 있기 때문에).

예시

.div1 {
  width: 300px;
  height: 100px;
  border: 1px solid blue;
}

.div2 {
  width: 300px;
  height: 100px;
  padding: 50px;
  border: 1px solid red;
}

box-sizing속성은 이 문제를 해결합니다 .



CSS box-sizing 속성 사용

box-sizing속성을 사용하면 요소의 전체 너비와 높이에 패딩과 테두리를 포함할 수 있습니다.

요소에 설정 box-sizing: border-box;하면 너비와 높이에 패딩과 테두리가 포함됩니다.

두 div는 이제 같은 크기입니다!

만세!

box-sizing: border-box; 다음은 두 <div> 요소 에 추가된 위와 동일한 예 입니다.

예시

.div1 {
  width: 300px;
  height: 100px;
  border: 1px solid blue;
  box-sizing: border-box;
}

.div2 {
  width: 300px;
  height: 100px;
  padding: 50px;
  border: 1px solid red;
  box-sizing: border-box;
}

사용 결과가 box-sizing: border-box;훨씬 더 좋기 때문에 많은 개발자는 페이지의 모든 요소가 이러한 방식으로 작동하기를 원합니다.

아래 코드는 모든 요소의 크기가 보다 직관적인 방식으로 조정되도록 합니다. 많은 브라우저에서 이미 box-sizing: border-box;많은 양식 요소를 사용하고 있습니다(전부는 아니지만, 이것이 입력과 텍스트 영역이 너비: 100%;)에서 다르게 보이는 이유입니다.

이것을 모든 요소에 적용하는 것은 안전하고 현명합니다.

예시

* {
  box-sizing: border-box;
}

CSS 상자 크기 속성

Property Description
box-sizing Defines how the width and height of an element are calculated: should they include padding and borders, or not