【每日一面】盒子模型

news/2025/10/9 21:43:47/文章来源:https://www.cnblogs.com/keepsmart/p/19132053

基础问答

问题:标准的 CSS 盒子模型是怎样的?

答案:标准盒子模型由内容区域(content)、内边距(padding)、边框(border)和外边距(margin)组成。在 content-box 模式下,width 和 height 属性仅指内容区域的宽度和高度,元素实际占据的宽度 = width + padding + border + margin,高度同理。

扩展延伸

关于盒子模型,其实问答上都是比较基础的,在这里就仅扩展了解一下 BFC 。

BFC:Block Formatting Context,区块格式上下文,是块级盒子布局过程发生的位置。

定义比较拗口,我们换句大白话,就是 BFC 是个容器,其内部的 DOM 元素按照一定的规则进行排列,多个 BFC 之间互相不影响。

关于 BFC 的规则:

  • BFC 就是一个块级元素,遵循块级元素在文档流上的排列规则(一个块级元素占一行,从上到下依次排列)
  • 是一个独立的容器,内部元素不会影响到外部。
  • 同一个 BFC 内部的元素之间,相邻元素的 margin 会有重叠。
  • 浮动元素会参与 BFC 的高度计算。

BFC 解决的问题:核心是“隔离布局”

  1. 解决 margin 重叠的问题
  2. 浮动导致的高度塌陷问题
  3. 实现两栏布局

面试追问

  1. 两个相邻的 div,高度都设置为 10px,都设置了 margin:10px 之后,他们的总高度是多少?

总高度为 50px,这两个相邻的 div 出现了 margin 重叠的问题。

  1. 如果一个设置为 margin:10px,一个设置为 margin:15px,这时候的高度是多少?

总高度为 margin 10px + height 10px + margin 15px + height 10px + margin 15px = 60px,在 margin 重叠的时候,会选择两个里面最大的 margin 作为此时的边距。

  1. 你提到的 margin 重叠是指什么?什么时候会触发这个重叠?

就是两个相邻的块级元素在垂直方向上设置 margin 的时候,相邻的上下 margin 会合并成一个,其值为二者最大的那个。

触发重叠需要满足条件:1. 块级元素,2. 元素之间没有 border、padding、content、height 等,即空的区块,3. 区块间未被隔离(参考 MDN 文档中的,没有内容将父元素和后代元素分开)

  1. 我不想出现这种重叠,我写的时候是什么样的,就应该是什么样的,怎么处理?

通过创建 BFC 解决,给其中一个元素套上 BFC 容器即可。

  1. BFC 是什么?怎么创建

BFC 就是一个块级的容器,用来设计其内部的元素布局。

通过创建浮动元素、绝对定位元素、行内块元素、弹性元素、网格元素、overflow 不为 visibleclip 的元素等方式来创建一个 BFC。

  1. 我如果使用 overflow: hidden 来触发 BFC,会有什么影响?

内容会有溢出的可能性,高度溢出后,部分内容不可见。一般通过在内容增加一个容器用于控制内容显示。

  1. 问个其他的,margin 和 padding 可以取负值吗?这俩取负值有什么区别。

padding 是内容区和边框的内部间距,取负值会导致内容区超出盒子边界,可能覆盖其他元素,一般不用。

margin 是盒子和其他元素的外部边距,一般来说是用于调整元素位置的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/933867.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

日总结 9

配置环境变量本质是为操作系统和程序提供 “全局可读取的配置信息”,它能让终端无需输入完整路径即可直接调用软件(如java/python命令)、帮助软件定位依赖路径(如JAVA_HOME避免硬编码)、传递系统级参数(如临时文…

kettle插件-国产数据库瀚高插件,助力国产数据库腾飞

场景:国产数据库(瀚高,金仓,达梦,海量等)信创环境下最近发展的势头很猛,今天我们一起来学习下瀚高数据库,从瀚高数据库中读取数据以及使用瀚高数据库作为kettle的资源仓库,废话少数,开干。 1、使用docker安装…

利用旋钮控制小灯亮度

利用旋钮控制小灯亮度 1、初始化该项目以复刻旋钮的项目为基础进行扩展,前置步骤请参考以下帖子:复刻江协旋钮控制模块(1)PWM配置将时钟按照如下方式重新配置使能TIM3计时器(2)写入代码在主循环外启用计时器的PWM模式…

ai 对话框一直往下滚可能要成为过云,当初只是为了快速现实ai的演示界面而己,是该走入正题 了

谢双军以为:在AI发展初期,为了迅速展示其能力,开发者采用了一个简易的对话窗口设计,消息不断向下堆叠。这种设计是临时性的,因为当时的主要精力集中在功能实现上,而非优化用户体验。随着AI技术的成熟,我们计划重…

脚手架安全巡检智能化!AI 让隐患识别更精准、整改更高效

在建筑施工脚手架巡检场景中,传统人工巡检模式正面临多重痛点:全靠肉眼排查钢管开裂、锈蚀,易因经验不足或视觉疲劳漏检;材料堆积仅靠人工记录,无法快速判断是否占用施工通道、是否超过安全高度;拍摄环境复杂(光…

实用指南:provthrd.dll propsys.dll profsvc.dll profprov.dll procinst.dll prntvpt.dll prnntfy.dll

实用指南:provthrd.dll propsys.dll profsvc.dll profprov.dll procinst.dll prntvpt.dll prnntfy.dllpre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: bl…

37 ACwing 298 Fence 题解

Fence 题面 有 N 块木板从左到右排成一行,有 M 个工匠对这些木板进行粉刷,每块木板至多被粉刷一次。 第 i 个木匠要么不粉刷,要么粉刷包含木板 \(S_i\) 的,长度不超过 \(L_i\) 的连续的一段木板,每粉刷一块可以得…

35 ACwing 297 The Battle Chibi 题解

The Battle of Chibi 题面 给定一个长度为 \(N\) 的序列 \(A\) ,求 \(A\) 有多少个长度为 \(M\) 的严格递增子序列 \(1 \le M \le N \le 1000,\ |A_i| \le 10^9\) 答案对 \(10^9\) 取模 题解 设 \(f(i,j)\) 表示以 \(…

一款由网易出品的免费、低延迟、专业的远程控制软件,支持手机、平板、Mac 、PC、TV 与掌机等多设备远控电脑!

前言 在多设备协同日益普及的今天,高效、流畅的远程控制已成为工作与生活的刚需。网易出品的这款免费远程控制软件,凭借低延迟、高画质与跨平台兼容性,轻松实现手机、平板、Mac、PC、TV 乃至掌机对电脑的远程操控,…

计划管理

计划管理核心是围绕 “期货工具” 与 “现货业务” 的协同,提前制定明确的操作计划,确保期现两端(如现货采购 / 销售、期货套保 / 交割)目标一致、节奏匹配,本质是通过 “事前规划” 降低期现错配风险,提升业务收…

苍穹外卖第二天(Nginx如何配置、MD5加密)

一、关于Nginx 1、Nginx反向代理的配置方式。监听的端口号是80,当请求路径中含有“api”这种字符串时,Nginx就会将请求转发给后面的地址,并且在/后面拼接上请求中后面的employee/login 2、Nginx负载均衡的配置方式。…

aardio跨窗口传递变量

aardio跨窗口传递变量把需要传递的变量写在用户库里, 右键用户库,新建WindowParamnamespace WindowParam{add_type="" }然后在需要使用的窗口里import WindowParam WindowParam.add_type参考

AI在简单视觉推理谜题中的挑战

ARC Prize测试通过看似简单的视觉谜题评估机器的推理、抽象和泛化能力,这些能力被认为是实现通用人工智能的核心要素。本文介绍了该基准测试的设计理念及其在衡量AI进展中的重要性。ARC Prize挑战:AI在简单谜题中的困…

自动引入的element-plus覆盖tailwindcss样式冲突解决方法

用el-card时发现自带的padding非常烦人,又不想通过:deep修改就想着tailwind一把梭,参考过github上issue的解决方案但好像那些都是想让element去覆盖tailwindcss的,想到antd有对应的解决方案便参考其文档 antd文档ht…

已严肃完成今日96种状态的超级神仙DP大学习

传送门 官方题解做法。 注:因为黑格子上只能放黑棋,白格子上只能放白棋,所以有的时候没必要区分是格子还是棋 Step 1 - 找性质对于一个极大棋子联通块,我们可以在它左边或者右边放一个棋子(具体来讲选择对应位置格…

P3388 【模板】割点(割顶) tarjan

解题思路 割点(割顶):在一个无向图中,如果删除某个顶点以及与之相连的所有边后,图的连通分量数量增加,则该顶点称为割点。 Tarjan算法求割点的核心思想:使用深度优先搜索遍历图维护两个数组:dfn[i]:顶点i的深…

new day

今日进行离散数学作业,进行四级备考,打算明日继续复习java。过完国庆有些懒散,努力调整状态。

数据结构——受限线性表之栈 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

vLLM 吞吐量优化实战:10个KV-Cache调优方法让tokens/sec翻倍

GPU 性能没问题,模型也训练得不错,但 token 吞吐量就是上不去?问题多半出在 KV-cache 上。本文整理了 10 个实际可用的优化方向,都是能直接上生产环境的那种。https://avoid.overfit.cn/post/321dd7c3c76444b59e97…

Linux之周期性定时任务实践

一、每日凌晨1点,删除指定文件 1.首先选择一个目录创建两个文件。我这里是/home/zxj touch bat1 bat22.进入任务编辑界面 crontab -e 3.插入任务并保存退出 0 1 * * * rm -f /home/zxj/bat1 0 1 * * * 表示 “每天凌晨…