css - box-sizing

首先得了解一下盒子模型的标准模型和怪异模型

 

box-sizing有三个标准属性

1 box-sizing: content-box|border-box|inherit;

 

content-box:标准盒模型/默认

border-box:怪异模型盒

inherit:继承属性

 

标准盒模型:

 

复制代码
 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <style>
 5             body {
 6                 margin: 0;
 7             }
 8 
 9             div.box {
10                 /* box-sizing: border-box; */
11                 width: 50%;
12                 border: 1em solid red;
13                 float: left;
14             }
15             
16             .container{
17                 width: 100%;
18             }
19         </style>
20     </head>
21     <body>
22 
23         <div class="container">
24             <div class="box">这个 div 占据左半部分。</div>
25             <div class="box">这个 div 占据右半部分。</div>
26         </div>
27 
28     </body>
29 </html>
复制代码

 

 

 

预期现象:我们可以想想,当两个div宽度都为50%. 超出以后就会换行 -> 子容器的盒子宽度已经超出了父容器的一半

期待结果:两个div宽度为50%且不换行,

 

怪异盒模型

复制代码
 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <style>
 5             body {
 6                 margin: 0;
 7             }
 8 
 9             div.box {
10                 box-sizing: border-box;
11                 width: 50%;
12                 border: 1em solid red;
13                 float: left;
14             }
15             
16             .container{
17                 width: 100%;
18             }
19         </style>
20     </head>
21     <body>
22 
23         <div class="container">
24             <div class="box">这个 div 占据左半部分。</div>
25             <div class="box">这个 div 占据右半部分。</div>
26         </div>
27 
28     </body>
29 </html>
复制代码

 

 

 

 

预期现象:子容器的盒子宽度已经超出了父容器的一半但不换行 -> border-box意味着子容器的padding和border的厚度都算在50%之内

期待结果:一致

 

目前chrome等主流浏览器都采用的是标准盒模型 .

posted @   Sunsin  阅读(181)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2017-11-29 webstorm激活+汉化教程
点击右上角即可分享
微信分享提示