WD1X.COM - 问答一下,轻松解决,电脑应用解决专家
主板显卡CPU内存显示器
硬盘维修显卡维修显示器维修
注册表系统命令DOS命令Win8
存储光存储鼠标键盘
内存维修打印机维修
WinXPWin7Win11Linux
硬件综合机箱电源散热器手机数码
主板维修CPU维修键盘鼠标维修
Word教程Excel教程PowerPointWPS
网络工具系统工具图像工具
数据库javascript服务器
PHP教程CSS教程XML教程

为什么要设置box-sizing: border-box属性?

更新时间:2021-03-17 11:35 作者:佚名点击:
为什么要设置box-sizing: border-box属性?
默认情况下
 
元素实际宽度=width(宽) + padding(内边距) + border(边框)
元素实际高度=height(高) +padding(内边距) + border(边框)
 
所以当我们执以下html文件
 
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>默认情况</title> 
<style> 
.div1 {
    width: 300px;
    height: 100px;
    border: 1px solid blue;
}
 
.div2 {
    width: 300px;
    height: 100px;    
    padding: 50px;
    border: 1px solid red;
}
</style>
</head>
<body>
 
<div class="div1">这个是个较小的框 (width 为 300px ,height 为 100px)。</div>
<br>
<div class="div2">这个是个较大的框 (width 为 300px ,height 为 100px)。</div>
 
</body>
</html>
 
得到的结果:
明明我们设置了相同的宽高,但是框的大小却不一样。很明显这不是我们想要的,这也是为什么给input和text设置相同的宽高,但是框的大小却不一样
 
box-sizing: border-box能够很好的解决这个问题
我们执行一下设置了css属性为box-sizing: border-box的html文件
 
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>设置了box-sizing: border-box属性</title> 
<style> 
.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;
}
</style>
</head>
<body>
 
<div class="div1">两个 div 现在是一样大小的!</div>
<br>
<div class="div2">菜鸟教程!</div>
 
</body>
</html>
 
得到的结果为:
以上的padding和border都被包含在width和height中,所以框的大小一样
 
注意:为了避免padding和margin导致框的大小不一致,从而引起页面布局紊乱,我们一般会设置
 
*{
box-sizing: border-box;
}
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
你可能感兴趣的内容