字节前端都知道的CSS包含块规则

你是字节否曾对CSS中的百分比单位非常疑惑?是否简单认为百分比的基准值就是所在元素的宽高?本文将从包含块角度帮助大家理解记忆百分比单位的计算规则,便于巧妙运用包含块规则解决实际开发中的前端布局问题!
一、确立包含块
包含块是都知道一个非常重要的概念,通常包含块是含块当前元素的最近祖先元素的内容区,包含块的规则形成依赖于CSS position属性。
在我们常用的字节场景中,position的前端值有relative、absolute、都知道fixed、含块static,规则且这四种属性为代表,云服务器字节浏览器对于这四种属性的前端包含块确立规则如下:

根元素()所在的包含块是一个被称为初始包含块的矩形。他的都知道尺寸是视口 viewport (for continuous media) 或分页媒体 page media (for paged media).
二、百分比值计算规则
CSS中例如width、含块height、规则padding等属性在设置百分比值时,浏览器会动态计算实际的像素值,百分比的计算基数就是该元素的包含块对应的实际属性值。

例如计算当前元素的百分比值的height属性
则其值为:包含块height值 * 当前元素height百分比值
三、包含块原理的应用场景
自己之前一直有个误区,认为padding、margin的百分比单位的免费信息发布网计算基数是当前元素矩形区域宽高来算,但是根据包含块的规则,他们的计算基数应该是包含块的width值。
那么看看下面这个问题
之前团队里大佬洪岩问:“如何实现一个高度是自适应宽度3倍的图片?”
通过思考,大致有如下的实现方式,大家可以参考
实现方法1: 利用Chrome浏览器最新支持的aspect-ratio属性,其问题就是C端浏览器兼容性不好
.box { aspect-ratio: 1/3; // width/height 宽高比 }
aspect-ratio
实现方法2: 巧用包含块规则(padding和width属性百分比值的计算基数是包含块的宽度)+ 背景图实现
.box { width: 100px; margin: 100px auto; position: relative; background-color: #00abef; } .bg-box { width: 100%; padding-top: 300%; background-image: url(https://ww3.sinaimg.cn/large/006pGbWsly1go7xqwfjw0j30ef0fewfp.jpg); background-repeat: no-repeat; background-size: 100% 100%; }效果如下图:
1比3的实现
CodePen地址: https://codepen.io/DYBOY/pen/JjbZgeE
四、总结熟记包含块规则,有利于在实际开发中解决一些“小块”的布局问题。

相关文章
选择适合你的家庭WiFi网络管理软件(提升家庭网络管理效率,畅享高速互联网)
摘要:随着家庭中使用智能设备的增加,对家庭WiFi网络的需求也日益增长。然而,随之而来的问题是如何更好地管理和优化家庭网络,以确保稳定的连接和高速的互联网访问体验。幸运的是,现在有许多W...2025-11-04
1. 前言python除了丰富的第三方库外,本身也提供了一些内在的方法和底层的一些属性,大家比较常用的如dict、list、set、min、max、range、sorted等。笔者最近在做项目框架时涉2025-11-04
最近又火了一部国产剧:《隐秘的角落》,如果你没看过,那可能会对朋友圈里大家说的“一起去爬山”、“小白船”、“还有机会吗”感到莫名其妙。图片来自 Pexels由于《隐秘的角落》是在爱奇艺独播,所以数据从2025-11-04
用C语言做物联网网关开发时,经常需要通过串口、485接口等从一些传感器读取数据,由于网关设备和传感器所处的环境复杂多样,电磁干扰等常常会破坏传输的数据,为了确保传输数据的可靠性,通常会采取一些策略,常2025-11-04腾讯会议电脑使用技巧教程(掌握腾讯会议,提升工作效率的关键技巧)
摘要:随着远程办公的普及,腾讯会议成为了许多企业和个人办公中不可或缺的工具。然而,很多人对于如何在电脑上高效地使用腾讯会议还不够熟悉。本文将为大家分享一些腾讯会议电脑使用的技巧,帮助您更...2025-11-04
DeepMind发布Acme,高效分布式强化学习算法框架轻松编写RL智能体
DeepMind 本周发布了一个强化学习优化框架 Acme,可以让AI驱动的智能体在不同的执行规模上运行,从而简化强化学习算法的开发过程。Acme 背后的工程师和研究人员共同撰写了一篇关于这项工作的技2025-11-04

最新评论