css:box-sizing告诉浏览器如何计算一个元素的总宽度和总高度

简介: css:box-sizing告诉浏览器如何计算一个元素的总宽度和总高度

box-sizing 告诉浏览器如何计算一个元素的总宽度总高度

语法

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

1、content-box: W3C标准盒模型

[扩展] 内容尺寸不变,总尺寸增加

total = content + border + padding

44.png45.png

2、border-box: IE怪异盒模型

[压缩] 总尺寸不变,内容尺寸减少

content = total - border - padding;

46.png

计算示例

<style type="text/css">
  * {
    margin: 0;
    padding: 0;
  }
  .box {
    width: 200px;
    height: 100px;
    padding: 20px;
    border: 10px solid red;
    background:yellow;
  }
  .content-box {
    box-sizing: content-box;
  }
  .border-box {
    box-sizing: border-box;
  }
</style>
<body>
  <div class="box">box</div>
  <div class="box content-box">content-box</div>
  <div class="box border-box">border-box</div>
</body>

47.png

计算方式

1、box-sizing: content-box

Total width: 200px + (2 * 20px) + (2 * 10px) = 260px
Total height: 100px + (2 * 20px) + (2 * 10px) = 160px
Content box width: 200px
Content box height: 100px

48.png

2、box-sizing: border-box

Total width: 200px
Total height: 100px
Content box width: 200px - (2 * 20px) - (2 * 10px) = 140px
Content box height: 100px - (2 * 20px) - (2 * 10px) = 40px

49.png

参考

MDN-box-sizing

菜鸟教程-CSS3 box-sizing 属性

相关文章
|
8月前
|
前端开发 容器
CSS基础-浮动:float与清除浮动
【6月更文挑战第9天】本文介绍了CSS中的`float`属性,用于创建多列布局和图文混排,但会导致浮动塌陷和元素重叠问题。为解决这些问题,文章探讨了`clear`属性的四种清除浮动方法,包括`clear`属性、空元素、伪元素和`overflow`方法。随着Flexbox和Grid布局的兴起,它们在某些场景下替代了浮动,但理解浮动原理仍是布局基础。掌握浮动和清除浮动技巧对构建稳定布局至关重要。
98 5
|
7月前
|
前端开发 容器
你不知道的css——1. 外在盒子、内在盒子,宽度和高度的计算,box-sizing属性
你不知道的css——1. 外在盒子、内在盒子,宽度和高度的计算,box-sizing属性
56 3
你不知道的css——1. 外在盒子、内在盒子,宽度和高度的计算,box-sizing属性
|
前端开发 容器
Web前端 — CSS之盒模型 以及margin负值、塌陷重叠问题
Web前端 — CSS之盒模型 以及margin负值、塌陷重叠问题
82 0
|
前端开发
CSS 最简洁的内容上下左右居中方法grid
CSS 最简洁的内容上下左右居中方法grid
108 0
|
前端开发
一个元素纯CSS实现开关按钮【介绍box-shadow、单边或多重阴影、appearance属性】
借助checkbox表单元素、:checked伪类、::before/::after伪元素,就可以只需一个input[type="checkbox"]元素,通过纯CSS实现Switch开关效果的按钮.
546 0
一个元素纯CSS实现开关按钮【介绍box-shadow、单边或多重阴影、appearance属性】
|
前端开发
CSS高度塌陷问题及清除浮动的三种方式
在父元素最后增加一个空的块级子元素,并且让它设置clear: both
187 0
|
前端开发
css:box-sizing告诉浏览器如何计算一个元素的总宽度和总高度
css:box-sizing告诉浏览器如何计算一个元素的总宽度和总高度
125 0
css:box-sizing告诉浏览器如何计算一个元素的总宽度和总高度
|
前端开发
css:box-shadow实现单边,多边阴影
css:box-shadow实现单边,多边阴影
250 0
css:box-shadow实现单边,多边阴影
|
前端开发
web前端学习(十九)——CSS3盒子模型(Box Model)、边框属性(border)及轮廓属性(outline)的相关设置
web前端学习(十九)——CSS3盒子模型(Box Model)、边框属性(border)及轮廓属性(outline)的相关设置
web前端学习(十九)——CSS3盒子模型(Box Model)、边框属性(border)及轮廓属性(outline)的相关设置
|
前端开发
CSS - 移动端 1px 像素边框问题的解决方案(Border.css)
CSS - 移动端 1px 像素边框问题的解决方案(Border.css)
294 0
CSS - 移动端 1px 像素边框问题的解决方案(Border.css)