博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CSS3中的box-sizing
阅读量:5867 次
发布时间:2019-06-19

本文共 1021 字,大约阅读时间需要 3 分钟。

懂得如何运用box-sizing之前,必须需要了解一下常规盒模型和怪异盒模型(IE盒模型)。 我们都知道盒模型从里到外主要包括:content,padding,border,margin。如下图:

两种盒模型的宽度width

标准盒模型的width = content 怪异盒模型的width = content + padding*2 + border*2 也就是说,一个div,他的内容宽content为100px,padding为10px,border为1px,margin为10px,那么在标准盒模型的解析下,他的width = 100px,也就是content的宽度 而在怪异盒模型的解析下,他的width = 100px + 1px*2 + 10px*2 = 122px

box-sizing的作用

了解完这两种盒模型后,在介绍一下box-sizing,他一共有3种值:content-box,border-box,inherit。inherit就是继承父元素的box-sizing值,这里不做介绍。 centent-box就是已标准盒模型的方式解析当前盒子,即此时盒子的width = content的宽度 border-box就是已怪异盒模型的方式解析盒子,此时width = content + padding*2 + border*2 聊到这里已经很明了了,box-sizing的作用就是规定当前盒子已哪种方式解析当前盒子。

使用场景

当然,box-sizing在某些场景下,是非常好用的。比如我们想做一个内边距10px,边框为2px,最终包括边框宽度为100px的div,之前的做法是先算出内容宽width = 100px - 10px*2 - 2px*2 = 76px。这种方式没问题,但是多少有点繁琐,将width的计算给以开发人员来完成显然是不合适的。 此时我们可以把它交给交给计算机来完成,这就需要用到box-sizing来完成。这里通过把div的box-sizing设置为border-box,我们就可以简单的将width设置为100px,其余的padding和border按照给定好的值一一填入,就可以完成这一切工作,省去了人为的计算内容宽content的过程,减少计算量的同时减少了错误率,何乐不为?

转载于:https://juejin.im/post/5b2bbaecf265da59961bcd63

你可能感兴趣的文章
Android - SimpleDateFormat 详解
查看>>
浅谈服务器被黑后的检查工作流程
查看>>
app inventor(3)
查看>>
Linux系统启动流程分析与关机流程
查看>>
Docker之容器日期解决
查看>>
Docker之安装Harbor镜像仓库
查看>>
FusionSphere——桌面云防病毒
查看>>
emacs中如何让complie信息自动滚动
查看>>
centos7挂在usb盘
查看>>
vtun配置再思考【路由】
查看>>
sqlite数据库基本操作
查看>>
Verilog的parameter 和 define
查看>>
Class yii\base\Component
查看>>
Jenkins与Docker的自动化CI/CD实战
查看>>
python核心编程笔记chapter 5
查看>>
mysql 提示mysql daemon failed to start解决办法
查看>>
记得要不断奔跑(一)
查看>>
我的友情链接
查看>>
快速入门:十分钟学会Python
查看>>
SpringMVC 中List 对象转换成Json格式 List对象中属性为NUll解决
查看>>