做网站的图片=gif湖南响应式网站哪里有

bicheng/2026/1/19 19:56:36/文章来源:
做网站的图片=gif,湖南响应式网站哪里有,网站开发可以开发哪些,做网站哪些软件你不知道的 CSS 之包含块 一说到 CSS 盒模型#xff0c;这是很多小伙伴耳熟能详的知识#xff0c;甚至有的小伙伴还能说出 border-box 和 content-box 这两种盒模型的区别。 但是一说到 CSS 包含块#xff0c;有的小伙伴就懵圈了#xff0c;什么是包含块#xff1f;好像…你不知道的 CSS 之包含块 一说到 CSS 盒模型这是很多小伙伴耳熟能详的知识甚至有的小伙伴还能说出 border-box 和 content-box 这两种盒模型的区别。 但是一说到 CSS 包含块有的小伙伴就懵圈了什么是包含块好像从来没有听说过这玩意儿。 好吧如果你对包含块的知识一无所知那么系好安全带咱们准备出发了。 包含块英语全称为containing block实际上平时你在书写 CSS 时大多数情况下你是感受不到它的存在因此你不知道这个知识点也是一件很正常的事情。但是这玩意儿是确确实实存在的在 CSS 规范中也是明确书写了的 CSS 2 并且如果你不了解它的运作机制有时就会出现一些你认为的莫名其妙的现象。 那么这个包含块究竟说了什么内容呢 说起来也简单就是元素的尺寸和位置会受它的包含块所影响。对于一些属性例如 width, height, padding, margin绝对定位元素的偏移值比如 position 被设置为 absolute 或 fixed当我们对其赋予百分比值时这些值的计算值就是通过元素的包含块计算得来。 来吧少年让我们从最简单的 case 开始看。 bodydiv classcontainerdiv classitem/div/div /body .container{width: 500px;height: 300px;background-color: skyblue; } .item{width: 50%;height: 50%;background-color: red; } 请仔细阅读上面的代码然后你认为 div.item 这个盒子的宽高是多少 相信你能够很自信的回答这个简单的问题div.item 盒子的 width 为 250pxheight 为 150px。 这个答案确实是没有问题的但是如果我追问你是怎么得到这个答案的我猜不了解包含块的你大概率会说因为它的父元素 div.container 的 width 为 500px50% 就是 250pxheight 为 300px因此 50% 就是 150px。 这个答案实际上是不准确的。正确的答案应该是div.item 的宽高是根据它的包含块来计算的而这里包含块的大小正是这个元素最近的祖先块元素的内容区。 因此正如我前面所说很多时候你都感受不到包含块的存在。 包含块分为两种一种是根元素HTML 元素所在的包含块被称之为初始包含块initial containing block。对于浏览器而言初始包含块的的大小等于视口 viewport 的大小基点在画布的原点视口左上角。它是作为元素绝对定位和固定定位的参照物。 另外一种是对于非根元素对于非根元素的包含块判定就有几种不同的情况了。大致可以分为如下几种 如果元素的 positiion 是 relative 或 static 那么包含块由离它最近的块容器block container的内容区域content area的边缘建立。 如果 position 属性是 fixed那么包含块由视口建立。 如果元素使用了 absolute 定位则包含块由它的最近的 position 的值不是 static 也就是值为fixed、absolute、relative 或 sticky的祖先元素的内边距区的边缘组成。 前面两条实际上都还比较好理解第三条往往是初学者容易比较忽视的我们来看一个示例 bodydiv classcontainerdiv classitemdiv classitem2/div/div/div/body .container {width: 500px;height: 300px;background-color: skyblue;position: relative; } .item {width: 300px;height: 150px;border: 5px solid;margin-left: 100px; } .item2 {width: 100px;height: 100px;background-color: red;position: absolute;left: 10px;top: 10px; } 首先阅读上面的代码然后你能在脑海里面想出其大致的样子么或者用笔和纸画一下也行。 公布正确答案 怎么样有没有和你所想象的对上 其实原因也非常简单根据上面的第三条规则对于 div.item2 来讲它的包含块应该是 div.container而非 div.item。 如果你能把上面非根元素的包含块判定规则掌握那么关于包含块的知识你就已经掌握 80% 了。 实际上对于非根元素来讲包含块还有一种可能那就是如果 position 属性是 absolute 或 fixed包含块也可能是由满足以下条件的最近父级元素的内边距区的边缘组成的 transform 或 perspective 的值不是 none will-change 的值是 transform 或 perspective filter 的值不是 none 或 will-change 的值是 filter(只在 Firefox 下生效). contain 的值是 paint (例如: contain: paint;) 我们还是来看一个示例 bodydiv classcontainerdiv classitemdiv classitem2/div/div/div /body .container {width: 500px;height: 300px;background-color: skyblue;position: relative; } .item {width: 300px;height: 150px;border: 5px solid;margin-left: 100px;transform: rotate(0deg); /* 新增代码 */ } .item2 {width: 100px;height: 100px;background-color: red;position: absolute;left: 10px;top: 10px; } 我们对于上面的代码只新增了一条声明那就是 transform: rotate(0deg)此时的渲染效果却发生了改变如下图所示 可以看到此时对于 div.item2 来讲包含块就变成了 div.item。 好了到这里关于包含块的知识就基本讲完了。 我们再把 CSS 规范中所举的例子来看一下。 htmlheadtitleIllustration of containing blocks/title/headbody idbodydiv iddiv1p idp1This is text in the first paragraph.../pp idp2This is textem idem1in thestrong idstrong1second/strongparagraph./em/p/div/body /html 上面是一段简单的 HTML 代码在没有添加任何 CSS 代码的情况下你能说出各自的包含块么 对应的结果如下 元素包含块htmlinitial C.B. (UA-dependent)bodyhtmldiv1bodyp1div1p2div1em1p2strong1p2 首先 HTML 作为根元素对应的包含块就是前面我们所说的初始包含块而对于 body 而言这是一个 static 定位的元素因此该元素的包含块参照第一条为 html以此类推 div1、p1、p2 以及 em1 的包含块也都是它们的父元素。 不过 strong1 比较例外它的包含块确实 p2而非 em1。为什么会这样建议你再把非根元素的第一条规则读一下 如果元素的 positiion 是 relative 或 static 那么包含块由离它最近的块容器block container的内容区域content area的边缘建立。 没错因为 em1 不是块容器而包含块是离它最近的块容器的内容区域所以是 p2。 接下来添加如下的 CSS #div1 { position: absolute; left: 50px; top: 50px } 上面的代码我们对 div1 进行了定位那么此时的包含块会发生变化么你可以先在自己思考一下。 答案如下 元素包含块htmlinitial C.B. (UA-dependent)bodyhtmldiv1initial C.B. (UA-dependent)p1div1p2div1em1p2strong1p2 可以看到这里 div1 的包含块就发生了变化变为了初始包含块。这里你可以参考前文中的这两句话 初始包含块initial containing block。对于浏览器而言初始包含块的的大小等于视口 viewport 的大小基点在画布的原点视口左上角。它是作为元素绝对定位和固定定位的参照物。 如果元素使用了 absolute 定位则包含块由它的最近的 position 的值不是 static 也就是值为fixed、absolute、relative 或 sticky的祖先元素的内边距区的边缘组成。 是不是一下子就理解了。没错因为我们对 div1 进行了定位因此它会应用非根元素包含块计算规则的第三条规则寻找离它最近的 position 的值不是 static 的祖先元素不过显然 body 的定位方式为 static因此 div1 的包含块最终就变成了初始包含块。 接下来我们继续修改我们的 CSS #div1 { position: absolute; left: 50px; top: 50px } #em1 { position: absolute; left: 100px; top: 100px } 这里我们对 em1 同样进行了 absolute 绝对定位你想一想会有什么样的变化 没错聪明的你大概应该知道em1 的包含块不再是 p2而变成了 div1而 strong1 的包含块也不再是 p2 了而是变成了 em1。 如下表所示 元素包含块htmlinitial C.B. (UA-dependent)bodyhtmldiv1initial C.B. (UA-dependent)p1div1p2div1em1div1因为定位了参阅非根元素包含块确定规则的第三条strong1em1因为 em1 变为了块容器参阅非根元素包含块确定规则的第一条 好了这就是 CSS 规范中所举的例子。如果你全都能看明白以后你还能跟别人说你是看过这一块知识对应的 CSS 规范的人。 另外关于包含块的知识在 MDN 上除了解说了什么是包含块以外也举出了很多简单易懂的示例。 具体你可以移步到布局和包含块 - CSS层叠样式表 | MDN 好了这就是有关包含块的所有内容了你学会了么-

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

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

相关文章

建网站底部怎么做的南宁网页制作

本次介绍在window系统x86机器上安装国产系统 arm 系统的详细教程。 注:ubuntu 的arm系统安装是一样的流程。 1.安装环境准备。 首先,你得有台电脑,配置别太差,至少4核8G内存,安装window10或者11都行(为啥…

网站建设做一个要多久网站建设微信文章

1.MyBatis-Plus 1.1特性 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 M…

seo快速建站哪个网站做的win10系统好

博主:代码菌-CSDN博客 专栏:C杂货铺_代码菌的博客-CSDN博客 目录 🌈前言🌈 📁 类的6个默认成员函数 📁 构造函数 📂 概念 📂 特性(灰常重要) &#x1f4c…

网站建设.c看广告收益最高的软件

目录 一、HTML中Canvas画图strokeStyle 和 fillStyle 的区别是什么? 二、如何设置一幅canvas图中某个颜色透明? 三、H5 canvas中strokeRect参数如果是小数,如何处理? 四、H5 Canvas中如何画圆角矩形框? 一、HTML中…

云南城市建设职业学院spoc网站济南 网站设计公司

介绍 至少6个实例才能组成集群。3主3从会自动分配 Redis集群原理 Redis集群架构 Redis Cluster采用虚拟槽分区,将所有的数据根据算法映射到0~16383整数槽内 Redis Cluster是一个无中心的结构 每个节点都保存数据和整个集群的状态 集群角色 Master:Master…

鹤壁市城市建设投资有限公司网站一学一做动漫视频网站

Macs Fan Control Pro是一款功能全面、易于使用且具有良好兼容性和安全性的风扇控制软件,适用于各种Mac用户。 除了能够调整风扇速度外,Macs Fan Control Pro还支持实时监测硬件传感器的温度,例如CPU、硬盘等,同时显示每个传感器…

佛山网站建设专业苏州工程网站建设

Vojtěch Jarnk 一、Prim算法简史 Prim算法(普里姆算法),是1930年捷克数学家算法沃伊捷赫亚尔尼克(Vojtěch Jarnk)最早设计; 1957年,由美国计算机科学家罗伯特普里姆独立实现; 19…

营销网站建设的价格网站正能量入口

“种一棵树最好的时间是十年前,其次是现在! ” 任何时候,只要开始,一切都来得及,如果你真的想要转行,何时都不会晚,只要你付出相应的努力,坚持下去,一切都会朝着自己希望…

自己做的网站如何让外网访问网站地图生成器

【Spring连载】使用Spring访问 Apache Kafka(十八)----非阻塞重试Non-Blocking Retries 一、这种模式是如何运作的How The Pattern Works二、回退延迟精度Back Off Delay Precision概述和保证Overview and Guarantees 三、配置Configuration四、Programm…

中国教育网站官网如何制作qq小程序

本文主要收录一些大数据不错的实践文章 1、数禾云上数据湖最佳实践 https://blog.51cto.com/u_15089766/2601706 该文章介绍了数禾云的数据胡实践,包含presto以及数据湖等组件的一些部署架构,文章听不错的,里面提到了为了避免presto与yarn计…

无锡市建设银行总行网站广告联盟app下载赚钱

选择专业是一个非常重要的决定,因为它可能会对你的职业生涯产生深远的影响。C#和Java都是非常流行的编程语言,它们都有自己的优点和适用场景。 感觉题主可以从下面几个方面来考虑: 1、就业前景: 就业前景是选择专业时需要考虑的…

o2o网站建设市场网站开发 强制兼容模式

在排查线上异常的过程中,查询日志总是必不可缺的一部分。现今大多采用的微服务架构,日志被分散在不同的机器上,使得日志的查询变得异常困难。工欲善其事,必先利其器。如果此时有一个统一的实时日志分析平台,那可谓是雪…

做网站工作图深圳网站建设 设计首选

分布式和微服务有什么区别 分布式是把一个集中式系统拆分成多个系统,每一个系统单独对外提供部分功能,整个分布式系统整体对外提供一整套服务。对于访问分布式系统的用户来说,感知上就像访问一台计算机一样. 而分布式架构的具体实现有很多种…

做一家新闻媒体网站多少钱聊城网站那家做的好

11月18日-19日,复旦MBA科创青干营二期学生开启了整合实践活动的第三次企业参访,前往位于合肥的蔚来第二先进制造基地、安徽万邦医药科技股份有限公司和合肥国轩高科动力能源有限公司,在学术导师和科创企业家“双导师”的指导下,深…

长沙做医院的网站建设网站制作源码版权

文章目录 0 前言1 一个通信的协议的组成2 常用协议名词解释2.1 UART2.2 RS-2322.3 RS-4852.4 RS-4222.5 比较 3 常用的芯片 0 前言 最近有点想研究USB协议,正好也看到有评论说对如何选择USB转串口模块有些疑惑,其实我也一直很想写一篇关于串口的总结式的…

什么建站程序好收录营销组合策略

接口概览 接口大概理解 接口类型是队其他类型行为的概括与抽象 接口类型中,包含函数声明,但没有数据变量接口的作用通过使用接口,可以写出更加灵活和通用的函数,这些函数不用绑定在一个特定的类型实现上Go 接口特征 很多面向对象…

嘉鱼网站建设前十静态的网页wordpress

Java如何快速将JSONObject转换成实体类 在工作的开展中,会遇到从外部接口中获取到了一大段Json数据的返回,想要将这个Json写入到实体类中的情况。 在遇到这种情况的时候,第一时间我想到的是最笨的遍历方法,采用最基础的方式将Js…

男女做那个视频的网站内容营销方案

1、脏读 「事务B」将 id 为 1 的用户 name 修改为“小卡”,事务未提交。「事务A」查询 id 为 1 的用户数据,此时 name 已为“小卡”。 2、不可重复度 「事务A」第一次读取 id 为 1 的用户,name 是 “卡卡”。「事务B」将 id 为 1 的用户 nam…

建站平台 iis网页制作与网站建设实战大全

创作方向:回顾自己学习编程的过程,分享经历和成长感悟。 当初选择学习计算机,我满怀梦想地说出了成为一名神奇的码农的愿望。我想象着能够像编织魔法一样,通过编写程序创造出炫酷的虚拟世界。然而,我很快就意识到&…

网站建设微享互动传奇网站架设教程

一、文本文件 C中输入输出是通过流对象进行操作,对于文件来说写文件就是将内容从程序输出到文件,需要用到写文件流ofstream;而读文件就是将内容从文件输入到程序,需要用到读文件流ifstream;这两个文件流类都包含在头文…