최신 웹 개발 튜토리얼
 

CSS3 Box Sizing


CSS3 상자 크기 조정

CSS3의 box-sizing 속성은 우리가 요소의 전체 폭과 높이의 패딩과 국경을 포함 할 수 있습니다.


브라우저 지원

테이블의 숫자는 완전히 속성을 지원하는 최초의 브라우저 버전을 지정합니다.

숫자는 다음 -webkit- 또는 -moz- 접두사와 함께 일 첫 번째 버전을 지정합니다.

재산
box-sizing 10.0
4.0 -webkit-
8.0 29.0
2.0 -moz-
5.1
3.1 -webkit-
9.5

CSS3없이 box-sizing 부동산

기본적으로, 소자의 폭과 높이가 이와 같이 계산된다 :

요소의 폭 + 패딩 + 국경 = 실제 폭
높이 + 패딩 + 국경 = 요소의 실제 높이

이 의미는 요소의 너비 / 높이를 설정하면 요소가 자주 (요소의 테두리와 패딩 요소의 지정된 너비 / 높이에 추가되기 때문에) 사용자가 설정 한 것보다 더 큰 나타납니다.

다음 그림은이 보여줍니다 <div> 같은 지정된 폭과 높이 요소를 :

이 사업부는 (폭이 300 픽셀이고 높이가 100 픽셀입니다) 작다.

이 사업부는 (너비는 300 픽셀이고 높이가 100 픽셀 인) 크다.

두 개의 <div> 결과에 서로 다른 크기와 마지막까지 위의 요소 (DIV2 때문에 패딩이 지정한) :

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

.div2 {
    width: 300px;
    height: 100px;
    padding: 50px;
    border: 1px solid red;
}
»그것을 자신을 시도

그들은 패딩과 국경을 빼야했기 때문에 그래서, 오랜 시간 동안 웹 개발자들은 그들이 원하는 것보다 작은 폭 값을 지정했습니다.

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


CSS3와 함께 box-sizing 부동산

CSS3의 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;
}
»그것을 자신을 시도