《HTML+CSS》视频12 高度塌陷

Html5 + Css3笔记详细汇总大全 阅读详情

高度塌陷问题

父元素的高度默认被子元素撑开,但是当为子元素设置浮动以后,子元素会完全脱离文档流,此时将会导致子元素无法撑起父元素的高度,将会导致父元素的高度塌陷。

根据W3C标准,在页面中,元素都有一个隐含的属性叫做Block Formatting Context,简称BFC,该属性默认关闭,当开启后,元素将会有如下特性:

  • 父元素的垂直外边距将不会和子元素重叠,给子元素设置外边距时,外边距不会传递给父元素
  • 开启BFC的元素不会被浮动元素覆盖
  • 开启BFC的父元素可以包含浮动的子元素

如何解决高度塌陷?

如何开启BFC?

  • 设置浮动
  • 设置元素绝对定位
  • 设置元素inline-block
  • 将元素的overflow设置为一个非visible的值

为父元素设置float可以包含浮动的子元素,但是会导致父元素宽度丢失,而且下面的元素会上移。

设置inline-block可以解决问题,但是也会造成父元素宽度丢失。

因此解决高度塌陷的最佳方式是设置overflow的值:

overflow:hidden;
overflow:auto;

但是这种方法会切除掉不在显示范围内的相对定位的元素。

IE6及以下的版本不支持BFC,所以这种方式不能兼容IE6

在IE6中有另一个隐含属性hasLayout,该属性和BFC类似,在IE6中可以通过开启hasLayout来解决该问题,开启的方法之一是,将元素的zoom值设置为1即可。zoom表示放大的意思,数值表示放大倍数。在IE6中,如果设置了宽度,也会开启hasLayout。

zoom:1;

所以如果要兼容所有浏览器,就需要两个都写

overflow:hidden;
zoom:1;

Chrome开发者工具

clear

clear可以清除其他元素对当前元素产生的影响,可选值:

  • none:默认值,不清除
  • left:清除左侧清除左侧浮动元素对当前产生的影响
  • right:清除右侧浮动元素对当前产生的影响
  • both:清除两侧元素产生的影响
解决高度塌陷:

方法一:
所以可以在父元素的最后添加一个元素,并且将这个兄弟元素的clear设置为both,所以当前面的子元素浮动时,这个没有高度的,并且清除了兄弟元素浮动对其产生影响的元素,刚好可以把父元素的高度撑开到原始位置。使用这种方式虽然可以解决问题(W3C推荐方法),但是会在我们页面中添加多余的结构,所以这种方式并不完美。

方法二:
我们可以通过after伪类,向父元素的最后添加一个空白的块元素,并且对其清除浮动,可以达到和上面相同的效果。但是在IE6中不支持伪类,所以,需要使用hasLayout处理。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style type="text/css">
			.box1{
				border:1px red solid;			
			}
			.box2{
				width:100px;
				height:100px;
				background-color:#bfa;
				float: left;
			}
			.clearfix:after{
				content:"";
				/*将添加的内容设置为块元素*/
			   display: block;
			   clear: both;
			}
			/*兼容IE6*/
			.clearfix{
			zoom:1;
			}
		</style>
	</head>
	<body>
		<div class="box1 clearfix">
			<div class="box2"></div>			
		</div>
	</body>
</html>

这里的content那里的冒号很重要。
在这里插入图片描述

HTML+CSS阶段知识点梳理 将一个内容放在页面合适的位置,需要考虑到这个内容大小,位置,形状,就相当于,买一个家具css将所有内容的形状统一成矩形,然后只需要考虑内容大小。 阅读详情

相关推荐

HTML5+CSS3笔记(尚硅谷)

HTML5+CSS3笔记

weixin_46595440的博客 1625

你真的了解CSS属性z-index吗

我们都知道,z-index属性规定了定位元素的层叠顺序,其值越大越层级越高,其值也允许被设为负值,z-index属性让元素有了z轴的特征,让元素有了远近之分。 除了这个特征之外,还有一个比较重要的特征:z-index会受到html结构的影响: 举个例子,a,b为父子元素关系,如果a是定位元素且设置了z-index为10,b也是一个定位元素并设置z-index为1000,你可能会认为b的层级会高于a,但是此时的实际结果是b的z轴定位不会超过a的的z轴定位,b的值设置的再大也不会超过父级元素的值10。总而言之这

Andrasen的博客 938

尚硅谷web前端HTML5+CSS3笔记

HTML/CSS笔记#自用#尚硅谷#李立超

qq_52380174的博客 5328

z-index

一。上方高度自适应。下方高度固定。      上方div中的内容可以覆盖下方div。后台管理中心

ning313180989的专栏 877

从 ST22 的 ASSIGN_OFFSET_NOTALLOWED 读懂 ABAP 偏移访问的边界

ABAP中的ASSIGN_OFFSET_NOTALLOWED异常通常源于对数值类型(如I/F/P)进行非法切片操作。该异常属于不可处理的运行时错误,常规TRY-CATCH无法捕获。根本原因是ABAP仅允许对字符型或字节型数据进行偏移访问,数值类型因其内部特殊存储格式(如压缩十进制)不支持局部内存访问。常见错误场景包括:1)直接对数值字段使用+off(len)语法;2)泛型编程中将数值字段误当作字符型处理;3)在Unicode环境下对混合类型结构进行偏移访问。正确的处理方式是预先检查数据类型,避免对非字符/字

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1406

【前端面试知识题】- 3. HTML && CSS

BFC是CSS布局的一个概念,是一个独立的渲染区域,规定了内部box如何布局, 并且这个区域的子元素不会影响到外面的元素,其中比较重要的布局规则有内部 box 垂直放置,计算 BFC 的高度的时候,浮动元素也参与计算。来调整图片的位置,不过HTTP2不适用,原因为HTTP2实际上是多路复用的,只用一个TCP连接,所以多个图片的请求也是在同一个TCP连接里,这样能省下非常多的请求时间,但坏处就是单连接开销很大,如果要传多个大文件,就很麻烦。面对经济的下行和大学生毕业人数的突增,现在的就业状况极其严峻。

拉格朗日的学习笔记 6302

被 CSS 的 z-index 坑了:设 1000 还被遮挡,原来缺了这行代码

由于 parent 和 other 的 z-index 值相同,根据层叠顺序规则,后出现的元素会覆盖先出现的元素,所以 other 元素会覆盖 parent 元素,而 child 元素作为 parent 的子元素,自然也会被 other 元素覆盖,即便 child 的 z-index 值很大。解决 z-index 失效的关键在于理清层叠上下文关系,通过避免不必要的层叠上下文创建、调整容器的 z-index 值、设置z-index: auto取消父元素的层叠上下文等方法,让元素的层叠顺序符合预期。

2503_92849275的博客 3189

Open3D 教程学习指南 (持续整理)

Open3D 是一个开源库,旨在为 3D 数据处理提供高效且易用的工具。它由 Intel 开发和维护,支持多种 3D 数据处理任务,如点云处理、3D 重建、几何处理和可视化等。

Chase Blog 5933

z-index到底是什么意思?

问题:在网页上,有很多元素像图片、文字框等叠在一起,怎么决定谁在上面谁在下面呢?答案:z - index 就像是给网页上的元素发的“身高牌”。数字越大,这个元素就越高,在页面上看起来就越在上面。比喻:就像一群小朋友站在一起比高矮,高的小朋友会挡住矮的小朋友,z - index 大的元素会挡住 z - index 小的元素。

长风破浪会有时的博客 1390

YOLOv8中间特征层可视化

在通过观察这些特征,可以清楚地看到模型如何逐步将输入图像转化为有意义的表示。

weixin_45314480的博客 6894

Ubuntu虚拟机磁盘扩容实战:5分钟搞定gparted分区调整(附常见错误修复)

本文详细介绍了在Ubuntu虚拟机中使用gparted工具进行磁盘扩容的实战步骤。针对常见的交换分区阻碍问题,提供了从禁用交换空间、删除旧分区、调整主分区大小到重建交换分区并更新系统配置的完整解决方案,帮助用户在5-10分钟内安全高效地解决磁盘空间不足的难题。

1a2s3d4f5g的博客 670

HTML5+CSS3快速入门浮动,高度塌陷,伪元素清除浮动每日一篇day05

teacherDay05 布局第二大块 盒模型 行内块 行内块并排缺点: 中间有间距 文本内容行数 多少不一样的时候 会出现对不齐现象 浮动属性 作用: 专业解决并排 float: left左侧浮动/right右侧浮动/none不浮动; float:none;默认值 标准状态 标准流 浏览器解析块元素从上到下一行一个 垂直排列 行内元素并排 中间有间距 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WJ6qK6UR-1605867640024)(media/

星夏一夜的博客 377

Cursor赋能Qt C++:从环境配置到项目构建的AI开发新范式

本文详细介绍了如何利用Cursor工具链提升Qt C++开发效率,从智能环境配置到CMake项目构建的全流程实践。通过AI辅助编程、Qt生态优化及高级调试技巧,开发者可快速完成从传统开发到AI驱动的新范式转换,显著缩短项目搭建时间并提升代码质量。

weixin_30329623的博客 548

HTML+CSS+JS学习(持续更新中)

超链接可以让我们从一个页面跳转到其他页面,或者是当前页面的其他的位置使用a标签来定义超链接,href属性指定跳转的目标路径,值可以是一个外部网站的地址,也可以写一个内部页面的地址超链接是也是一个行内元素,在a标签中可以嵌套除它自身外的任何元素,那么嵌套的元素就相当于一个超链接。在网页中HTML专门用来负责网页的结构,所以在使用HTML标签的时候,应该关注的是标签的语义,而不是他的样式,这里先介绍几个基本的于一标签,还有些常用的标签放在后面具体讲解。标签用来向页面中引入一个外部的音频文件。

m0_46486963的博客 6896

【漏洞复现】7-Zip目录穿越漏洞(CVE-2025-11001)

摘要:CVE-2025-11001是7-Zip(v21.02-v24.09)Windows版处理ZIP包符号链接时的高危漏洞,攻击者可构造恶意ZIP文件实现目录穿越和任意文件写入。漏洞源于路径检查缺陷,当用户解压含特殊符号链接的压缩包时,可能将文件写入系统目录。复现利用GitHub公开的Python脚本(https://github.com/pacbypass/CVE-2025-11001)可生成攻击包,需注意该漏洞仅影响Windows且需要用户交互。

LongL_GuYu的博客 1609

OpenClaw 自定义 Skill 开发完整指南(最新版)

OpenClaw 中的每个 Skill,本质是一套“能力描述 + 执行逻辑”的组合包,核心特征如下:核心载体:以文件夹为单位,文件夹内必须包含SKILL.md文件(能力描述核心);扩展文件:可选agent.py(Python 执行逻辑)、index.ts(TypeScript 执行逻辑)、(辅助文档/示例资源)等;核心优势:AI 通过阅读 SKILL.md 的自然语言描述理解技能,无需严格遵循代码接口,灵活度极高;

haolove527的专栏 2万+

HTML5和CSS3知识点总结及代码

图文解释超详细html以及css重要知识点

我也是全粘工程师啦 1704

用ChatGPT 5.5掌握SCI的4个实操润色技巧,论文质量极速提升!(附提示词)

ChatGPT 5.5的发布,在学术写作中的应用变得更加精准和安全,通过正确的使用方法,不仅可以改善语法与表达,让论文达到SCI发表水准,还能最大程度保留作者原意,将AIGC检测率控制在低风险区间。可以帮大家省下大量纠结语法、梳理逻辑的时间,在保证润色质量的同时,兼顾AIGC检测的合规要求,为论文投稿成功率提供实实在在的提升。通过智能调整语序、优化用词和句式结构,该方法能够在保留学术质感的同时,使文章表达更自然、贴近人工撰写的风格,从而避免文字过于程式化,提升论文整体可读性和表达的个性化特征。

智能AI让学术科研更容易 65

1. HTML5+CSS3

HTML5+CSS3 W3C: 制定网页开发的标准,以使同一个网页在不同浏览器中有相同的效果。 W3C标准: 结构:HTML用于描述页面的结构 表现:CSS用于控制页面中元素的样式 行为:JavaScript用于响应用户的操作 一、HTML HTML(Hypertext Markup Language)超文本标记语言 标签 成对出现:<html></html> 自结束标签:<img>或者<img/> 注释:<!-- --&

weixin_45210011的博客 12万+

PCB铺铜技巧如何铺铜经验总结

铺铜是指在PCB电气层添加整块的铜皮;铺铜包括电源层铺铜,地层铺铜和信号走线层空闲区域铺铜;铺铜是PCB设计的一个重要的环节。

fydar的博客 1万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

web前端入门到实战:12个HTML和CSS必须知道的重点难点问题

这12个问题,基本上就是HTML和CSS基础中的重点难点了,也是必须要弄清楚的基本问题,其中定位的绝对定位和相对定位到底相对什么定位?这个还是容易被忽视的,浮动也是一个大坑,有很多细节。这12个知识点是我个人认为的,下面我们就来看看这12个知识点。 1.怎么让一个不定宽高的 DIV,垂直水平居中? 使用Flex 只需要在父盒子设置:display: flex; justify-content: c...

软件开发-前端开发-IT 473

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

HTML+CSS超详细讲解+超详细思维导图 超浅显易懂 复习、学习小助手

HTML(结构) 1.文档声明 格式: <!doctype html> 作用: 便于浏览器识别其网页版本 2.注释 格式: < !-- – > 作用: 在网页中显示出来 提高可读性,便于编程人员阅读 注意: 不能在注释中嵌套注释 3.标签(元素) 01 根标签 格式: < html > < /html > 作用: 网页中所有内容都写在根标签里面 02 子标签 head标签 格式: < head > < /head > 作用

qq_45625194的博客 9024

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

HTML5和CSS3

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、简介网页字符编码万维网联盟(W3C)快捷键标签注释标签的属性二、使用步骤1.引入库2.读入数据总结 前言 本节简要介绍HTML的相关内容 一、简介 网页 1.B/S架构 2.特点: (1)不需要安装 (2)无需更新 (3)跨平台 <!DOCTYPE html> <!-- html 根标签(元素),网页中的所有内容都要写在根元素的里边 --> <html> <!-- head是.

m0_61677732的博客 525

HTML5+CSS3

HTML5+CSS3

BUG_devil的博客 1739

Web前端HTML+CSS零基础入门知识总结

HTML页面标签框架 <html> </html>

ZS74520的博客 1308

html+css知识点复习

html和css基础

beeliang 470
上一篇: 《HTML+CSS》视频11 简单布局、导航条
下一篇: 《HTML+CSS》视频13 定位、层级、透明、背景
Han_python
博客等级 码龄6年 31粉丝 113原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值