【面试题】面试官:说说你对 CSS 盒模型的理解
前言
CSS 盒模型是 CSS 基础的重点难点,因此常被面试官们拿来考察候选人对前端基础的掌握程度,这篇文章将对 CSS 盒模型知识点进行全面的梳理。
我们先看个例子:下面的 div 元素的总宽度是多少呢?
js
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> <title>CSS 盒模型(https://github.com/webharry/fe-interview)</title>
<style>
div {background-color: lightgrey;width: 200px;border: 10px solid yellow;padding: 10px;margin: 20px;
}
</style>
</head>
<body><div>这里是盒子内的实际内容。有 10px 内间距,20px 外间距、10px 黄色边框。</div>
</body>
</html>
要回答这个问题,我们首先得弄明白 CSS 盒模型。
什么是 CSS 盒模型?
每个HTML元素都由一个矩形框(盒子)组成,称为盒模型。CSS 盒模型定义了一个 HTML 元素的尺寸和边距。
盒模型的各个部分
CSS 中组成一个盒子需要:
- Content box: 这个区域是用来显示内容,大小可以通过设置
width和height。 - Padding box: 包围在内容区域外部的空白区域;大小通过
padding相关属性设置。 - Border box: 边框盒包裹内容和内边距。大小通过
border相关属性设置。 - Margin box: 这是最外面的区域,是盒子和其他元素之间的空白区域。大小通过
margin相关属性设置。
如图所示:

CSS 有两种盒模型:标准盒模型和IE盒模型。
- 标准盒模型:元素的宽度和高度只包括内容(content),不包括内边距(padding)、边框(border)和外边距(margin)。
- IE盒模型:元素的宽度和高度包括内容(content)、内边距(padding)和边框(border),但不包括外边距(margin)。
两种盒模型的区别是什么?
这两种盒模型的区别在于它们如何计算元素的宽度和高度,以及如何处理元素的内边距、边框和外边距。
- 在标准盒模型中,元素的宽度和高度只包括内容,因此设置宽度和高度时需要考虑内边距、边框和外边距对它们的影响。
- 如图:

- 而在IE盒模型中,元素的宽度和高度包括内边距和边框,因此设置宽度和高度时不需要考虑内边距和边框对它们的影响。
- 如图:

重要: 当您指定一个 CSS 元素的宽度(width)和高度(height)属性时,你只是设置内容区域(content)的宽度和高度。
两种盒模型间如何转换?
可以通过设置 CSS 的 box-sizing 属性来指定使用哪种盒模型。默认情况下,box-sizing 属性的值为 content-box,即使用标准盒模型。可以将其设置为 border-box,即使用IE盒模型。
写在最后
现在,我们再来看文章开头的例子,答案显而易见。因为在默认情况下,box-sizing 属性的值为 content-box,即使用标准盒模型。所以例子中的 div 元素总宽度是 200+10x2+10x2=240px。
大厂面试题分享 面试题库
前后端面试题库 (面试必备) 推荐:★★★★★
地址:前端面试题库 web前端面试题库 VS java后端面试题库大全
相关文章:
【面试题】面试官:说说你对 CSS 盒模型的理解
前言 CSS 盒模型是 CSS 基础的重点难点,因此常被面试官们拿来考察候选人对前端基础的掌握程度,这篇文章将对 CSS 盒模型知识点进行全面的梳理。 我们先看个例子:下面的 div 元素的总宽度是多少呢? js <!DOCTYPE html> &…...
【ROS2】学习笔记
1. 基础概念 1.1 执行单元 1.1.1 executable——执行程序 executable表示针对某个目标的程序执行流程,一个executable可以启动多个node; 1.1.2 node——“进程” node其实就是进程的意思; ROS2允许同时启动两个相同的node,&a…...
Springboot +Flowable,流程表单应用之外置表单(JSON形式)(二)
一.简介 整体上来说,我们可以将Flowable 的表单分为三种不同的类型: 动态表单 这种表单定义方式我们可以配置表单中每一个字段的可读性、可写性、是否必填等信息,不过不能定义完整的表单页面。外置表单 外置表单我们只需要定义一下表单的 k…...
JavaScript如何使用if语句
JavaScript的if语句可以让我们根据某些条件来执行不同的代码块。使用if语句的基本思路是将要执行的代码放在括号内,并使用if关键字进行匹配。下面是一些例子: 简单的if语句: let age 18; if (age > 18) { console.log("You are…...
XSS攻击以及java应对措施
文章目录 一. XSS攻击介绍1. 前端安全2. xss攻击简介3. xss的攻击方式 二. java应对xss攻击的解决方案1. 强制修改html敏感标签内容2. 利用过滤器过滤非法html标签 一. XSS攻击介绍 1. 前端安全 随着互联网的高速发展,信息安全问题已经成为企业最为关注的焦点之一…...
yolo 训练
这里写目录标题 分配训练集&Validation数量数据集读取读取全部文件夹替换路径 loss weightNMSBBox_IOUEIou Optimizer 分配训练集&Validation数量 validation_size training_size * validation_ratio / (1 - validation_ratio)training_size 219 validation_ratio …...
谷歌chrome浏览器升级新版后字体显示不清楚解决方案
谷歌chrome浏览器升级新版后字体显示不清楚解决方案 参考图片: Chrome更新至版本Chrome 109.0.5414.120 字体看不清 浏览器症状与表现 Chrome更新至版本Chrome 109.0.5414.120 字体看不清;会很细,在设置中选择自定义的字体,仍无法…...
在外包干了三年,我废了……不吹不黑!
没错,我也干过外包,一干就是三年,三年后,我废了…… 虽说废的不是很彻底,但那三年我几乎是出差了三年、玩了三年、荒废了三年,那三年,我的技术能力几乎是零成长的。 说起这段三年的外包经历&a…...
【Vue】学习笔记-消息的订阅与发布
消息的订阅与发布(基本不用) 消息订阅与发布(pubsub)消息订阅与发布是一种组件间的通信的方式,适用于任意组件间通信 消息订阅与发布 1.订阅消息∶消息名 2.发布消息︰消息内容 消息订阅与发布的工作流程: (A是订阅者,B是发布…...
大疆无人机 MobileSDK(遥控器/手机端)开发 v5版<1>
文章目录 概要整体架构流程技术细节SDK 架构体系概述层级架构智能任务空白项目集成 MSDK新建空白项目新建 MyApplication.kt 文件修改 build.gradle(Module) 文件修改 AndroidManifest.xml 文件修改 MainActivity.kt 文件导入 UXSDK 开源框架4.X 和 5.X 版本差异说明DJIKey差异…...
azkaban介绍
目录 为什么需要工作流调度系统 什么是azkaban azkaban适用场景 azkaban特点 常见的工作流调度系统 azkaban和Ooize特性对比 azkaban的架构 azkaban调度的任务有可能有那些类型 总结 为什么需要工作流调度系统 一个完整的大数据分析系统,必然由很多任务单…...
自学黑客(网络安全)必学内容
随着时代的发展,经济、社会、生产、生活越来越依赖网络。而随着万物互联的物联网技术的兴起,线上线下已经打通,虚拟世界和现实世界的边界正变得模糊。这使得来自网络空间的攻击能够穿透虚拟世界的边界,直接影响现实世界的安全。 …...
Java每日一练(20230518) 移除元素、跳跃游戏II、复原IP地址
目录 1. 移除链表元素 🌟 2. 跳跃游戏 II 🌟🌟 3. 复原 IP 地址 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 移…...
diff命令和vimdiff命令
文章目录 diff命令基本用法选项示例 vimdiff命令命令格式选项说明常用操作 diff命令 diff命令是一个文本比较工具,用于比较两个文件的内容,它会逐行比较两个文件的内容并输出它们之间的差异。下面是diff命令的常用选项和用法: 基本用法 比…...
AcWing 797.差分(C++)
目录 1.题目描述 2.AC 1.题目描述 797.差分 输入一个长度为 nn 的整数序列。 接下来输入 mm 个操作,每个操作包含三个整数 l,r,cl,r,c,表示将序列中 [l,r][l,r] 之间的每个数加上 cc。 请你输出进行完所有操作后的序列。 输入格式 第一行包含两…...
Python每日一练(20230515) 只出现一次的数字 I\II\III
目录 1. 只出现一次的数字 Single Number 2. 只出现一次的数字 II Single Number II 3. 只出现一次的数字 III Single Number III 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 leetcod…...
基于【EasyDL】【图像分类】实现农作物病害识别小程序
内容、数据集来源:基于飞桨的农作物病害智能识别系统 - 飞桨AI Studio 项目背景 联合国粮食及农业组织的一份报告表明,每年农业生产的自然损失中有三分之一以上是由农业病虫害造成的,使这些成为当前影响农业生产和农业生产的最重要因素。需要考虑的农业…...
元宇宙又“死”了!Epic老板:你当6亿用户是摆设?
“扎克伯格花了数年时间试图让Metaverse成为现实,但现在它已被AI取代,并走向科技创意的坟墓。”一篇表达“元宇宙已死”的文章近期在推特上引发热议,而游戏制作公司Epic Games CEO Tim Sweeney的还击更是让这个话题热上加热。 “搞一次在线守…...
阶段小结2022
工作马上一年,对于一年工作能力提升可能逐步在提升,业务能力也在慢慢提升,虽然没有一年前想象的飞起状态,但是刚接触这一行,希望越来越好。 之前每次的遇到的问题其实都会在笔记或者博客中记录,但是没有整体…...
linux0.12-8-11-vsprintf.c
[383页] 1、 这一小节可以不看代码如何实现,因为标准的C库函数; 2、 等自己看完的这本书,有兴趣过来研究研究也是可以的。 8-11 vsprintf.c程序 8-11-1 功能描述 该程序主要包括vsprintf(),用于对参数产生格式化的输出。由于该函数是C函数…...
【学习体会】YUV格式
YUV 420 半平面 (Semi-Planar) 格式Y平面:单独的亮度平面UV平面:色度交错平面(U和V交错存储)采样比例:Y:U:V 4:1:1(水平方向1/2采样,垂直方向1/2采样)内存结构: [Y Y Y …...
STM32H743串口DMA+空闲中断实战:从MPU配置到HAL库‘锁’的坑,我都帮你踩完了
STM32H743串口DMA空闲中断实战:从MPU配置到HAL库状态机陷阱全解析 第一次将项目从STM32F407迁移到H743平台时,我遭遇了职业生涯中最诡异的调试经历——CubeMX生成的代码明明逻辑正确,串口却像中了邪一样时好时坏。深夜的实验室里,…...
嵌入式上位机开发入门(二十):写文件功能的 RTU/TCP 双协议适配
目录 一、前言二、RTU 与 TCP 的帧格式差异三、Write File Record 请求格式四、modbus_write_file_record 实现五、响应长度计算函数解析六、总结七、结尾 一、前言 大家好,这里是 Hello_Embed。上篇完成了 Socket 状态检测与断线重连机制,Modbus TCP…...
日本加大投入约270亿元助力Rapidus实现2nm芯片量产
近日,日本政府批准拨付6315亿日元(约合人民币270.15亿元)的追加补贴,这使得2022至2026年度的研发支援总额攀升至2.354万亿日元(约合人民币1007.06亿元),旨在助力Rapidus加速挺进竞争白热化的AI芯…...
Qwen3-4B镜像快速入门:免Python免CUDA,浏览器打开就能聊
Qwen3-4B镜像快速入门:免Python免CUDA,浏览器打开就能聊 1. 为什么选择这个镜像? 想象一下:你刚拿到一台新电脑,想体验最新的大语言模型,但发现需要先安装Python、配置CUDA、解决各种依赖冲突...这个过程…...
监控摄像头焦距原理分析
监控摄像头的焦距是决定其成像特性和应用效果的核心光学参数。理解焦距原理对于合理选择和部署监控设备至关重要。本文将从光学成像基础出发,系统阐述焦距与视角、监控范围、清晰度以及景深之间的内在联系,并结合不同应用场景分析各类焦距的适用性,为监控系统设计提供全面的…...
内存测试指标和工具
1.dmidecode作用:把系统BIOS中的硬件信息提取出来使用方法dmidecode | grep "Configured Memory Speed"这个示例用于查看内存实际频率,内存实际频率代表了内存处理数据的速度实际项目中会告诉你测试1DPC还是2DPC,这里的DPC…...
零基础转行大模型选哪个岗位方向最易上手?常见问题全解析
零基础转行大模型选哪个岗位方向最易上手?常见问题全解析 标签:#人工智能、#深度学习、#自然语言处理、#神经网络、#机器学习、#计算机视觉、#ai ### 先打破一个误区:大模型≠只有算法岗,普通人也能进### 大模型岗位:哪…...
你好,放大器——失调与偏置的实战分析与优化策略
1. 放大器失调与偏置的真相大白 第一次用运放做电流检测电路时,我盯着输出端那0.5mV的"幽灵电压"百思不得其解——明明输入接地,输出却像闹鬼似的飘着电压。后来才发现,这其实是所有工程师都会遇到的经典问题:失调电压和…...
全球数据库各个细分领域的TOP1产品
文章目录一、关系型数据库(RDBMS)领域二、NoSQL数据库领域三、云原生数据库领域四、向量数据库(AI时代新兴)领域五、时间序列数据库领域六、NewSQL数据库领域七、数据仓库/OLAP领域八、嵌入式关系型数据库领域九、国产数据库市场格局十、发展趋势与洞察十一、数据库选型建议十二…...
