권장: css 비디오 튜토리얼
box-sizing
은 요소의 너비와 높이를 계산하는 데 사용되는 기본 CSS 상자 모델을 변경하는 데 사용됩니다. 여기에는 content-box
, border-box
및 inherit
의 세 가지 값이 있습니다. 상속
은 더 이상 중복되지 않는 상위 요소로부터 상자 크기 조정
표현식 형식을 상속하는 것을 의미합니다. box-sizing
用于更改用于计算元素宽度和高度的默认的 CSS 盒子模型。它有content-box
、border-box
和inherit
三种取值。inherit
指的是从父元素继承box-sizing
表现形式,不再冗赘。
content-box
默认值,也是css2.1中的盒子模型。在计算width
和height
时候,不计算border
、padding
和margin
。高度、宽度都只是内容高度。
border-box
css3
新增。 width
和height
属性包括内容,内边距和边框,但不包括外边距。
计算公式:
width = width = border + padding + 内容宽度
height = border + padding + 内容高度
margin
从上面可以知道,即时是border-box
也是不计算margin
,只是多余计算了border
和padding
。因为border
和padding
都是盒子模型的一部分,但是margin
标记的是盒子和盒子的间距。所以,border-box
的解释很符合常理。
问题来了,如果有时候一定要设置
margin
,怎么做到自由控制来保证兼容?例如,我们下面要设置一个撑满页面的盒子元素,而且有外边距干扰,怎么做?
实现如下效果图:
代码:源码下载
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>yuanxin.me</title> <style type="text/css"> *{ margin: 0; padding: 0; } #app { box-sizing: border-box; /* 指定计算方式 */ margin: 10px; /* 外边距干扰 */ /* 利用 css3 的 calc */ width: calc(100vw - 2*10px); height: calc(100vh - 2*10px); } </style> </head> <body> <div id="app"> </div> </body> </html>
所以,当需要计算外边距(margin),可以配合css3中的四则运算(calc
)来使用。
根据项目中的使用经验和w3c的建议,推荐将
box-sizing
属性设置为border-box
1. 속성 설명
기본값도 css2입니다. 1박스 모델입니다.
content-box
너비
및높이
를 계산할 때테두리
,패딩
및여백
은 계산되지 않습니다. 높이와 너비는 콘텐츠 높이일 뿐입니다.
테두리 상자
css3
New. 너비
및 높이
속성에는 콘텐츠, 패딩 및 테두리가 포함되지만 여백은 포함되지 않습니다. 계산 공식:
여백
border-box
라도 margin
은 계산되지 않으나 border
와 padding은 중복 계산됩니다. 테두리
와 패딩
은 모두 상자 모델의 일부이지만 여백
은 상자 사이의 간격을 표시하기 때문입니다. 그러므로 border-box
에 대한 설명은 매우 상식적입니다. 🎜🎜질문은 때때로여백
을 설정해야 하는 경우 호환성을 보장하기 위해 자유롭게 제어하는 방법입니다. 예를 들어, 전체 페이지를 채우고 여백으로 인해 방해를 받는 상자 요소를 설정하려면 어떻게 해야 합니까? 🎜🎜🎜다음 렌더링을 달성하세요: 🎜🎜🎜🎜코드:소스 코드 download 🎜🎜* { margin: 0; padding: 0; } div { box-sizing: border-box; }🎜따라서 여백을 계산해야 할 때 CSS3의 4가지 산술 연산(calc
)과 함께 사용할 수 있습니다. 🎜3. 사용 제안
🎜프로젝트 경험과 w3c의 권장 사항을 바탕으로박스 크기
를 설정하는 것이 좋습니다. > 속성을 border-box
에 추가합니다. 🎜🎜rrreee🎜더 많은 프로그래밍 관련 지식을 보려면 🎜프로그래밍 소개🎜를 방문하세요! ! 🎜
위 내용은 CSS3 테두리 크기 조정 속성 자세히 살펴보기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!