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

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

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


语法

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

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


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


total = content + border + padding

image.png



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


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


content = total - border - padding;

image.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>

image.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

image.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

image.png


参考

MDN-box-sizing

菜鸟教程-CSS3 box-sizing 属性

相关文章
|
2月前
|
前端开发 JavaScript
如何利用 CSS3 动画实现元素的淡入淡出效果?
在上述代码中,定义了一个名为 `fade-in` 的CSS类,其初始透明度为0,并设置了淡入的过渡效果。当通过JavaScript为元素添加 `active` 类时,元素的透明度变为1,实现淡入效果;当再次点击按钮移除 `active` 类时,元素又会逐渐淡出。通过这种方式,可以根据用户的操作灵活地控制元素的淡入淡出效果。
354 60
|
2月前
|
数据采集 前端开发 JavaScript
捕捉页面的关键元素:用CSS选择器与Puppeteer自动抓取
本文介绍了如何使用 Puppeteer 结合 CSS 选择器抓取动态网页中的关键元素,以亚航网站的特价机票信息为例,通过设置代理 IP、User-Agent 和 Cookie 等技术手段,有效提升爬虫策略,实现高效、稳定的爬取。
捕捉页面的关键元素:用CSS选择器与Puppeteer自动抓取
|
2月前
|
前端开发 JavaScript UED
CSS滚动效果和视差滚动的原理、应用及其对用户体验的影响。从平滑滚动到元素跟随,再到滚动触发动画
本文探讨了CSS滚动效果和视差滚动的原理、应用及其对用户体验的影响。从平滑滚动到元素跟随,再到滚动触发动画,这些效果增强了页面的吸引力和互动性。视差滚动通过不同层次元素的差异化移动,增加了页面的深度感和沉浸感。文章还讨论了实现方法、性能优化及案例分析,旨在为设计师和开发者提供实用指导。
69 7
|
2月前
|
前端开发
CSS权重计算
【10月更文挑战第28天】CSS权重计算是CSS样式应用中的一个重要概念,了解和掌握权重计算规则有助于更好地控制页面的样式表现,避免样式冲突和意外的显示效果,从而提高网页开发的效率和质量。
|
3月前
CSS_定位_网页布局总结_元素的显示与隐藏
CSS_定位_网页布局总结_元素的显示与隐藏
28 0
|
4月前
获取元素到浏览器顶部的距离
文章介绍了两种方法来获取页面元素到浏览器顶部的距离:使用元素的`getBoundingClientRect().top`属性和自定义函数`getElementTop`结合`offsetParent`和`offsetTop`属性。
172 1
|
3月前
|
前端开发 开发者 容器
CSS3:flex&box-sizing
本文介绍了CSS中的Flex布局及其相关属性,如`flex-direction`、`flex-wrap`、`justify-content`等,并通过代码示例展示了如何使用这些属性来控制容器内的项目排列方式。同时,还讲解了`align-items`属性用于定义子元素在交叉轴上的对齐方式,以及`box-sizing`属性的不同取值对元素尺寸计算的影响。
|
3月前
|
前端开发
css 块元素、行内元素、行内块元素相互转换
css 块元素、行内元素、行内块元素相互转换
249 0
|
4月前
|
前端开发
Vue3基础(十ba)___在css中使用props或者计算属性的变量,来实现动态样式
本文介绍了如何在Vue3中通过CSS变量和props或计算属性来实现动态样式。
86 0
|
2月前
|
JSON 移动开发 JavaScript
在浏览器执行js脚本的两种方式
【10月更文挑战第20天】本文介绍了在浏览器中执行HTTP请求的两种方式:`fetch`和`XMLHttpRequest`。`fetch`支持GET和POST请求,返回Promise对象,可以方便地处理异步操作。`XMLHttpRequest`则通过回调函数处理请求结果,适用于需要兼容旧浏览器的场景。文中还提供了具体的代码示例。
在浏览器执行js脚本的两种方式

热门文章

最新文章