指定针对元素的宽度与高度的计算方法—— box-sizing

2023-12-29 12:32

本文主要是介绍指定针对元素的宽度与高度的计算方法—— box-sizing,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在CSS 3中,使用box-sizing属性来指定针对元素的宽度与高度的计算方法。
本文将针对这个属性做详细介绍。

1. box-sizing属性

在CSS中, 使用width属性与height属性来指定元素的宽度与高度。但使用box-sizing属性,可以指定width属性值与height属性值是否包含元素内部的补白区域(padding),以及边框的宽度与高度。

属性值有:

  • content-box
    表示元素的宽度和高度不包括内部补白区域,以及边框的宽度与高度。(默认值)
  • border-box
    表示元素的宽度和高度包括内部补白区域,以及边框的宽度与高度。

在样式代码中,使用Firefox浏览器时,需要将其书写成 “-moz-box-sizing” 的形式;使用Safari浏览器或Chrome浏览器时,需要将其书写成 “-webkit-box-sizing” 的形式;使用Opera浏览器时,需要将其书写成 “-ms-box-sizing” 的形式。

示例

<body><div id="divl">示例文字示例文字示例文字示例文字示例文字示例文字示例文字示例文字示例文宇示例文字示例文字示例文字示例文宇示例文字示例文字示例文字示例文字示例文宇示例文字示例文字</div><div id="div2">示例文字示例文字示例文字示例文字示例文宇示例文字示例文字示例文字示例文字示例文字示例文字示例文字示例文字示例文字示例文字示例文字示例文字示例文字示例文字示例文字</div>
</body>
<style>div{width: 300px;border: 30px solid #fa0;padding: 30px;background-color: #ff0;margin: 30px auto;}#div1{box-sizing: content-box;}#div2{box-sizing: border-box;}
</style>

在这里插入图片描述

在这个示例中,虽然同时指定两个div元素的宽度都是300px,但是#div1指定的是元素内容部分的宽度为300px,元素的总宽度=(元素内容宽度300px + 内部补白宽度30px * 2 + 边框宽度30px * 2)=420px;
#div2指定的是元素的总宽度为300px,元素内容部分的宽度=(元素总宽度300px - 内部补白宽度30px * 2 - 边框宽度30px * 2)=180px。

2. 为什么要使用box-sizing属性

使用box-sizing属性的目的是控制元素的总宽度,如果不使用该属性,样式中默认使用的是content-box属性值。有些场合下利用border-box属性值会使得页面布局更加方便。比如下面的示例所示,只要将两个div元素的border-box属性值都设定为50%,就可以确保两个div元素的并列显示了。

<body><div id="divl">示例文字示例文字示例文字示例文字示例文字示例文字示例文字示例文字示例文宇示例文字示例文字示例文字示例文宇示例文字示例文字示例文字示例文字示例文宇示例文字示例文字</div><div id="div2">示例文字示例文字示例文字示例文字示例文宇示例文字示例文字示例文字示例文字示例文字示例文字示例文字示例文字示例文字示例文字示例文字示例文字示例文字示例文字示例文字</div>
</body>
<style>div{width: 50%;border: 30px solid #fa0;padding: 30px;background-color: #ff0;float: left;box-sizing: border-box;}#div2{border: 30px solid green;}
</style>

在这里插入图片描述

这篇关于指定针对元素的宽度与高度的计算方法—— box-sizing的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/549449

相关文章

使用C++实现链表元素的反转

《使用C++实现链表元素的反转》反转链表是链表操作中一个经典的问题,也是面试中常见的考题,本文将从思路到实现一步步地讲解如何实现链表的反转,帮助初学者理解这一操作,我们将使用C++代码演示具体实现,同... 目录问题定义思路分析代码实现带头节点的链表代码讲解其他实现方式时间和空间复杂度分析总结问题定义给定

java获取图片的大小、宽度、高度方式

《java获取图片的大小、宽度、高度方式》文章介绍了如何将File对象转换为MultipartFile对象的过程,并分享了个人经验,希望能为读者提供参考... 目China编程录Java获取图片的大小、宽度、高度File对象(该对象里面是图片)MultipartFile对象(该对象里面是图片)总结java获取图片

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

vue基于ElementUI动态设置表格高度的3种方法

《vue基于ElementUI动态设置表格高度的3种方法》ElementUI+vue动态设置表格高度的几种方法,抛砖引玉,还有其它方法动态设置表格高度,大家可以开动脑筋... 方法一、css + js的形式这个方法需要在表格外层设置一个div,原理是将表格的高度设置成外层div的高度,所以外层的div需要

使用Python合并 Excel单元格指定行列或单元格范围

《使用Python合并Excel单元格指定行列或单元格范围》合并Excel单元格是Excel数据处理和表格设计中的一项常用操作,本文将介绍如何通过Python合并Excel中的指定行列或单... 目录python Excel库安装Python合并Excel 中的指定行Python合并Excel 中的指定列P

Python将大量遥感数据的值缩放指定倍数的方法(推荐)

《Python将大量遥感数据的值缩放指定倍数的方法(推荐)》本文介绍基于Python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处理,并将所得处理后数据保存为新的遥感影像... 本文介绍基于python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W

通过C#获取PDF中指定文本或所有文本的字体信息

《通过C#获取PDF中指定文本或所有文本的字体信息》在设计和出版行业中,字体的选择和使用对最终作品的质量有着重要影响,然而,有时我们可能会遇到包含未知字体的PDF文件,这使得我们无法准确地复制或修改文... 目录引言C# 获取PDF中指定文本的字体信息C# 获取PDF文档中用到的所有字体信息引言在设计和出

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模

VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virtual disk”问题

《VMWare报错“指定的文件不是虚拟磁盘“或“Thefilespecifiedisnotavirtualdisk”问题》文章描述了如何修复VMware虚拟机中出现的“指定的文件不是虚拟... 目录VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virt