CSS属性box-sizing详解


本文摘自PHP中文网,作者Guanhui,侵删。

CSS盒模型

你需要先了解CSS盒模型

CSS盒模型中 width 与 height 的计算规则:

在CSS中,你设置一个元素的width与height只会应用到这个元素的内容区。如果这个元素有任何的 border 或 padding,绘制到屏幕上时的盒子宽度和高度会加上设置的边框(border)和内边距(padding)值。

下面举例说明

不加 padding 与 border 的时候

1

2

3

<body>

  <div class="wrapper"></div>

</body>

1

2

3

4

5

6

7

8

9

10

11

12

13

*{

      margin:0;

      padding:0;

    }

    body{

      border:1px solid blue;

      margin:10px;

    }

    .wrapper{

      width:100px;

      height:100px;

      background:pink;

    }

微信截图_20200509092955.png

此时 div.wrapper 元素的宽高是 100*100

微信截图_20200509093007.png

wrapper元素的盒模型

当给 div.wrapper 元素加上 padding 和 border 样式时

1

2

3

4

5

6

7

8

.wrapper{

      width:100px;

      height:100px;

      background:pink;

      padding:10px;

      border:1px solid black;

      margin:10px;

    }

微信截图_20200509093020.png

此时 div.wrapper 元素的宽高是 122*122 ,因为给该元素加上了10像素的 padding 和1像素的 border,可以看到此时粉色区域要更大了

微信截图_20200509093033.png

注:margin不会影响元素的宽高,虽然这里也设置了margin,但元素的宽高并未加上margin的值

box-sizing属性

1. box-sizing 属性是干什么用的?

box-sizing 属性是用来更改 CSS盒模型 中的这种 计算元素宽高 的一种方法

2. box-sizing 的取值

content-box

是默认值。如果你设置一个元素的宽为100px,那么这个元素的内容区会有100px宽,并且任何边框和内边距的宽度都会被增加到最后绘制出来的元素宽度中。

border-box

如果你将一个元素的 width 设为100px,那么这100px会包含它的 border 和 padding,内容区的实际宽度会是 width 减去 border + padding 的计算值。

3. 使用 box-sizing 属性

使用 border-box

1

2

3

<body>

  <div class="wrapper"></div>

</body>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

*{

  margin:0;

  padding:0;

  box-sizing:border-box;

}

body{

  border:1px solid blue;

  margin:10px;

}

.wrapper{

  width:100px;

  height:100px;

  background:pink;

  margin:10px;

  padding:10px;

  border:1px solid black;

}

微信截图_20200509093047.png

此时 div.wrapper 元素的宽高还是 100*100,但实际内容区的宽高变成 78*78,元素的宽高包括实际内容的宽高加上 border 和 padding 的值

微信截图_20200509093100.png

使用content-box

以上个例子为例,仅将 box-sizing 的值改为 content-box

1

2

3

4

5

*{

      margin:0;

      padding:0;

      box-sizing:content-box;

    }

微信截图_20200509093111.png

可以看到粉色区域又变大了,此时 div.wrapper 元素的宽高为 122*122 ,内容的宽高还是100*100

微信截图_20200509093122.png

推荐教程:《CSS教程》

以上就是CSS属性box-sizing详解的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

怎么让css文件里图片居中

javascript和css交互的5种方法的学习

如何只用css实现点击按钮切换图片

css怎么设置字体居中?

css媒体查询有什么用

css如何实现tab选项卡切换

css层叠性重要么

css如何实现下划线滑动效果

css如何设置文字间距

button按钮和submit按钮有什么区别?

更多相关阅读请进入《css》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...