CSS3中的box-sizing属性嗨有用!

在讲box-sizing这个属性之前我们先来回顾一下CSS中的盒子模型

盒子模型

盒子模型

不同部分的说明:

  • Margin(外边距) - 清除边框外的区域,外边距是透明的。
  • Border(边框) - 围绕在内边距和内容外的边框。
  • Padding(内边距) - 清除内容周围的区域,内边距是透明的。
  • Content(内容) - 盒子的内容,显示文本和图像。

那标签元素在默认的情况下高度和宽度是怎么计算的呢?

元素的宽度和高度

当我们指定一个标签的宽度和高度属性时,默认情况下,我们只是设置内容区域的宽度和高度。如果你想知道完全大小的元素,还必须添加内边距,边框和外边距
我们举个例子来说明

div {
    background-color: #fafafa;
    width: 200px;
    border: 10px solid yellow;
    padding: 10px;
    margin: 10px;
}

那上面这个div标签实际宽度是多少呢?让我们来算算:
200px (宽) + 20px (左 + 右内边距) + 20px (左 + 右边框)+ 20px (左 + 右外边距) = 260px
这个div最终实际占得宽度就是260px

为什么这么计算呢?这就不得不引出box-sizing这个属性来

box-sizing

在默认情况下,box-sizing的值为:content-box,代表你对一个元素所设置的 widthheight 只会应用到这个元素的内容区。
如果这个元素有任何的 border,或 padding,绘制到屏幕上时的盒子宽度和高度会加上设置的边框和内边距值
这使得我们调整标签大小是必须得时刻小心,将边框和内边距也计算进去,不然布局可能会出错,这一点比较烦人

box-sizing的值为:border-box很好的解决了这一点!

border-box代表你对一个元素所设置的 widthheight 会应用到这个元素的边框区。也就是说width或者height中已经包含了paddingborder 的值
内容区的实际使用宽高就是减去(border + padding)的值,这样就使的我们在大多数情况下,很容易地设定一个元素的宽高

记住

box-sizing:content-box宽高不包含padding和border
box-sizing:border-box宽高包含padding和border的值
在平时开发中,可以统一使用box-sizing:border-box,这样我们设置宽高的时候更容易一些,不容易出错

最后 🙌

好啦,以上就是我本次分享的全部内容啦,如果你觉得我的文章对你有一丢丢帮助,那么请不要吝啬你的赞👍哦,阿门~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 大家好,我是IT修真院的学员,一位正直纯洁善良的web前端程序员 今天给大家分享一下如何理解盒模型? 1.背景介绍...
    宁静森林阅读 2,237评论 0 0
  • 一、CSS入门 1、css选择器 选择器的作用是“用于确定(选定)要进行样式设定的标签(元素)”。 有若干种形式的...
    宠辱不惊丶岁月静好阅读 1,666评论 0 6
  • 浏览器与服务器的基本概念 浏览器(安装在电脑里面的一个软件) 作用: ①将网页内容渲染呈现给用户查看。 ②让用户通...
    云还灬阅读 1,178评论 0 0
  • 其实,CSS就三个大模块: 盒子模型 、 浮动 、 定位,其余的都是细节。要求这三部分,无论如何也要学的非常精通...
    王玉伟的伟阅读 1,158评论 0 2
  • 这个世界上离别常有,但完满不常有, 拨一轮曲终人散道不尽人世圆满; 这个社会糟粕常有,但好人不常有, 修一世回向众...
    蓦然含V阅读 326评论 2 6