我的编程空间,编程开发者的网络收藏夹
学习永远不晚

CSS包含块规则的示例分析

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

CSS包含块规则的示例分析

这篇文章给大家分享的是有关CSS包含块规则的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

一、确立包含块

包含块是一个非常重要的概念,通常包含块是当前元素的最近祖先元素的内容区,包含块的形成依赖于CSS position属性。

在我们常用的场景中,position的值有relative、absolute、fixed、static,且这四种属性为代表,浏览器对于这四种属性的包含块确立规则如下:

CSS包含块规则的示例分析

根元素()所在的包含块是一个被称为初始包含块的矩形。他的尺寸是视口 viewport (for continuous media) 或分页媒体 page  media (for paged media).

二、百分比值计算规则

CSS中例如width、height、padding等属性在设置百分比值时,浏览器会动态计算实际的像素值,百分比的计算基数就是该元素的包含块对应的实际属性值。

CSS包含块规则的示例分析

例如计算当前元素的百分比值的height属性

则其值为:包含块height值 * 当前元素height百分比值

三、包含块原理的应用场景

自己之前一直有个误区,认为padding、margin的百分比单位的计算基数是当前元素矩形区域宽高来算,但是根据包含块的规则,他们的计算基数应该是包含块的width值。

那么看看下面这个问题

之前团队里大佬洪岩问:“如何实现一个高度是自适应宽度3倍的图片?”

通过思考,大致有如下的实现方式,大家可以参考

实现方法1: 利用Chrome浏览器最新支持的aspect-ratio属性,其问题就是C端浏览器兼容性不好

.box {     aspect-ratio: 1/3; // width/height 宽高比 }

 CSS包含块规则的示例分析

aspect-ratio

实现方法2: 巧用包含块规则(padding和width属性百分比值的计算基数是包含块的宽度)+ 背景图实现

  1. <div class="box"> 

  2.   <div class="bg-box"></div> 

  3. </div> 


.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%; }

效果如下图:

CSS包含块规则的示例分析

感谢各位的阅读!关于“CSS包含块规则的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

CSS包含块规则的示例分析

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

php中包含字符的示例分析

这篇文章将为大家详细讲解有关php中包含字符的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php是什么语言php,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Pre
2023-06-14

Nodejs中模块规范的示例分析

这篇文章主要为大家展示了“Nodejs中模块规范的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Nodejs中模块规范的示例分析”这篇文章吧。CommonJS 模块规范以前加载 JS 文
2023-06-15

centos 6.6默认iptable规则的示例分析

这篇文章将为大家详细讲解有关centos 6.6默认iptable规则的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在自己电脑上新装了centos6.6虚拟机,然后装了nginx,没有进行任何其
2023-06-10

html中Emmet语法规则的示例分析

这篇文章给大家分享的是有关html中Emmet语法规则的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Emmet—写HTML/CSS快到飞起在前端开发的过程中,最费时间的工作就是写 HTML、CSS 代码
2023-06-14

Android中IntentFilter匹配规则的示例分析

这篇文章将为大家详细讲解有关Android中IntentFilter匹配规则的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。IntentFilter的匹配规则IntentFilter的使用假如我们
2023-05-30

js的一些潜在规则示例分析

这篇文章主要为大家介绍了js的一些潜在规则示例分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-02-21

Java混合运算规则的示例分析

这篇文章主要介绍了Java混合运算规则的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。重要规则://byte short char 做混合运算时,先各自转换为 int
2023-05-31

Python的正则规则举例分析

这篇文章主要讲解了“Python的正则规则举例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python的正则规则举例分析”吧!问题复现我们都知道,Python有个正则规则\w,几乎所有
2023-06-02

编程热搜

目录