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 属性

相关文章
|
Kubernetes 监控 Docker
微服务与容器化:Kubernetes 实践
【8月更文第29天】随着云计算的发展,越来越多的企业选择采用微服务架构来构建他们的应用程序。微服务架构允许将复杂的大型应用程序拆分成一系列小型、独立的服务,这些服务可以独立部署、扩展和维护。然而,这种架构也带来了新的挑战,特别是在服务的部署、监控和扩展方面。容器化技术,尤其是 Kubernetes,已经成为解决这些挑战的关键工具。
204 0
|
负载均衡 算法 Java
分布式系列教程(10) -分布式协调工具Zookeeper(负载均衡原理实现)
分布式系列教程(10) -分布式协调工具Zookeeper(负载均衡原理实现)
221 0
|
监控 关系型数据库 MySQL
MySQL高可用MHA
MySQL高可用管理工具(MHA,Master High Availability)是一个用于自动管理MySQL主从复制的工具,它可以提供高可用性和自动故障转移。MHA由原版的MHA工具和MHA Manager组成,它们协同工作以实现自动主从切换和监控。
679 0
|
Java 数据处理
Java8的新特性parallelStream()的概念、对比线程优势与实战
parallelStream() 是 Java 8 中新增的一个方法,它是 Stream 类的一种扩展,提供了将集合数据并行处理的能力。普通的 stream() 方法是使用单线程对集合数据进行顺序处理,而 parallelStream() 方法则可以将集合数据分成多个小块,分配到多个线程并行处理,从而提高程序的执行效率。
806 3
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的高校学术研讨信息管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的高校学术研讨信息管理系统附带文章源码部署视频讲解等
119 0
|
JavaScript 小程序 Java
基于Java的大学生汉服租赁网站的设计与实现(亮点:在线支付、ECharts图表展示、完整下单流程、视频点播、点赞评论互动)
基于Java的大学生汉服租赁网站的设计与实现(亮点:在线支付、ECharts图表展示、完整下单流程、视频点播、点赞评论互动)
215 0
HTML页面 加载播放RTMP协议流和HLS协议流直播视频
HTML页面 加载播放RTMP协议流和HLS协议流直播视频
1159 0
HTML页面 加载播放RTMP协议流和HLS协议流直播视频
|
XML SQL JSON
开源 SPL 助力 JAVA 处理公共数据文件(txt \csv \ json \xml \xls)
开源 SPL 助力 JAVA 处理公共数据文件(txt \csv \ json \xml \xls)
246 0
|
前端开发 JavaScript
《JavaScript框架设计》——第 1 章 种子模块 1.1命名空间
IIFE是现代JavaScript框架最主要的基础设施,它像细胞膜一样包裹自身,防止变量污染。但我们总得在Windows里设置一个立足点,这个就是命名空间。基本上我们可以把命名空间等同于框架的名字,不过对于某些框架,它们是没有统一的命名空间,如Prototype.js , mootools。
1773 0
|
关系型数据库 MySQL SQL
【案例】常驻查询引发的thread pool 性能问题之一
一 问题现象    线上某业务A的数据库版本MySQL 从5.5 升级到5.6 版本之后多次出现RT抖动的问题,其现象主要为:     1 rt严重不稳定,部分query rt非常高。
1070 0