CSS中常见的高度塌陷问题及解决办法

css面试精讲之防止高度坍塌的4种方式 Q1:BFC专题 1、防止高度坍塌的4种方案 问题重现 问题重现1: 父元素的高度,都是由内部未浮动子元素的高度撑起的。 问题重现2: 子元素浮动,还会对付元素造成影响。 如果子元素浮动起来,就不占用普通文档流的位置。父元素高度会失去支撑,就造成高度坍塌。 问题重现3: 问题重现4:即使有部分元素留在普通文档流布局中支撑着父元素,如果浮动起来的元素高度高于留下的元素。那么浮动元素的高度会超出父元素边框,用户体验同样不好! 解决方案 1.为父元素纸质overflow:hidde 阅读详情

在使用css实现样式时,难免碰到一个棘手的问题——高度塌陷,如果把问题分析通透,那就容易解决了。

“塌陷”很容易让人联想到高楼倒塌,“高度”也应证了这是出现在两个垂直相交的元素(盒子)之间的问题,这两个元素可能是兄弟元素或父子元素。

1.“兄弟”元素之间的高度塌陷

 

按咱们预想,从一图到二图,nav1和nav2之间的外边距应该从10px变为20px,实际效果是两者的外边距仍为10px,这就是发生了高度塌陷。

解决办法也简单粗暴,直接给nav1的下外边距或者给nav2的上外边距设置为20px。

 

 效果如上图。

咱们应该知道的规则是:

1.如果两个兄弟元素垂直相接外边距值都为正,那么实际的外边距为两者中较大那个;

 2.如果两个兄弟元素垂直相接外边距值都为负,那么实际的外边距为两者中绝对值较大那个;

 3.如果两个兄弟元素垂直相接外边距值一正一负,那么实际的外边距为两者之和;

 了解上面规律之后,我们可能会疑惑高度塌陷为什么会存在,存在即为合理,这种高度塌陷在实现段落分隔中会发挥奇效,大家可以自己去发现。

 2.“父子”元素之间的高度塌陷

 

 按咱们预想,从一图到二图,nav2-1应该与nav2之间产生10px的距离,但实际效果是nav1与nav1外边距产生了10px的距离,这个时候也发生了高度塌陷。

解决的核心思维是实现父子元素外边距的分别计算,下面列举实现方法:

1.给父元素开启相对定位,子元素开启绝对定位,之后调节外边距;

  2.给父元素设置overflow,对子元素调整外边距;

3. 给子元素用行内块级元素表示;

4.给子元素开启相对定位,用top,right,left,botton来调整布局;

消除浮动产生高度塌陷的两个方法:

1.在想要消除浮动产生影响的元素前面写一个空元素,用clear清除浮动影响;

2.用以下代码来清除浮动;

 

 

 

 

【CSS】高度塌陷及解决方案 文章目录什么是高度塌陷解决高度塌陷 什么是高度塌陷 在文档流中,父元素的高度默认是被子元素撑开的,也就是子元素多高,父元素就多高。 但是当为子元素设置浮动以后,子元素会完全脱离文档流, 此时将会导致子元素无法撑起父元素的高度,导致父元素的高度塌陷。 父元素高度自适应(不写高度),子元素 float 后,造成父元素高度为0,称为高度塌陷问题。 <style type="text/css"> .box1 { /* 父元素未设置高度,高度由子元素撑开 */ b 阅读详情

相关推荐

css3基础100问之header部分nav导航栏(li+a)方法怎样准确实现呢?(28)

做成第三部分样式该如何做呢?是个重点呢? 主体html代码如下:用li加a的方法来做啊。 效果如下,前面有小点怎末办呢? 除去li的样式就行了 现在就没有了小点 可是nav区域不在header区域一行内啊! 当然需要浮动了!加入浮动哟! 还是没有解决?偶偶,原来第一个logo没有浮动啊! 给logo加上浮动,因为一浮全浮啊,兄弟元素必须都浮动才能起作用呀! 现在可以了,在一行了!可是离logo区域太近了,怎末解决呢? 量...

weixin_45147894的博客 2691

CSS盒子塌陷以及解决办法

情况一:当子元素设置外边距,导致父元素连带向下,这就导致盒子模型塌陷 情况二:当父元素未设置高度,此时父元素的高度取决于子元素的高度,当子元素设置浮动后,会脱离文档流,造成子元素的内容在父元素外出现。 脱离文档流:在HTML中块级元素一个一排自上往下堆放,行内元素自左往右堆放,而脱离文档流就是不遵循这套标准,元素于元素之间开始堆叠。

weixin_58545784的博客 3228

CSS元素高度塌陷的几种常见解决办法!

同学们在进行页面布局的时候,经常会使用到float浮动进行样式控制,但如果我们没有设置父元素的高度的时候使用浮动就会导致后面的子元素出现问题,也就是高度塌陷。下面小千就给大家介绍几种常见的解决CSS高度塌陷的方法。 1.父级div定义 height 原理:父级div手动定义height,就解决了父级div无法自动获取到高度的问题。 优点:简单、代码少、容易掌握 缺点:只适合高度固定的布局,要给出精确的高度,如果高度和父级div不一样时,会产生问题 建议:不推荐使用,只建议高度固定的布局时使用 2.结尾处加

xiaoxijinger的博客 864

CSS——高度塌陷以及解决方法

高度塌陷产生的原因以及解决方法

Bonsoir777的博客 8132

CSS解决高度塌陷的方法

声明:本人才疏学浅,文中如有错误或不当之处,请各位指出,共同进步,谢谢! 一、什么是高度塌陷 当父元素不设置高度的时候靠子元素撑大,也就是说子元素有多高,父元素就有多高,当子元素子元素浮动后,父元素就会高度塌陷。父元素高度塌陷后,父元素下面的元素就会向上移动,这样会导致整个页面的布局混乱。 比如下面的效果: <div class="box1"> <div class="box2...

ccwy1的博客 5892

Python爬虫实战:抓取天气数据并生成可视化图表(完整可复制代码)

工具/库核心作用选型理由requests发送HTTP请求,获取天气网页内容语法简单,上手快,支持Headers配置(反爬)解析HTML页面,提取目标天气数据无需懂复杂XPath,API直观,快速定位标签pandas数据清洗、整理(如日期/温度格式化)一键处理数据格式,与matplotlib无缝适配matplotlib生成可视化图表(折线图/饼图/柱状图)Python主流可视化库,定制性强,支持保存高清图生成随机User-Agent,应对反爬自动更新UA池,避免手动维护。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 909

CSS浮动元素引起的问题和解决方法是什么

常用的解决方法有清除浮动和使用伪元素。清除浮动的方法是在父元素的最后添加一个空元素,然后给这个元素应用。:浮动元素周围的内联元素(如文本)会环绕浮动元素,这在某些情况下可能不是我们想要的效果。以上就是浮动元素可能引起的一些问题以及相应的解决方法,希望对你有所帮助。使用伪元素的方法是给父元素添加一个伪元素,并给这个伪元素应用。:可以给浮动元素的周围添加一个块级元素,然后给这个块级元素应用。:可以给后面的元素也应用浮动样式,或者使用。样式,这样就可以阻止文本环绕浮动元素。属性来阻止元素与前面的浮动元素重叠。

csdn_Levy的博客 307

华为无线WiFi实战:基于802.1x与NPS的企业级认证部署指南

本文提供了一份详尽的华为无线WiFi企业级认证部署实战指南。通过整合802.1x协议与Windows NPS服务器,构建基于AD域账号的安全认证体系,彻底解决传统WiFi密码共享带来的安全风险。文章详细拆解了从NPS服务器配置、证书部署到华为AC端RADIUS模板、AAA方案、认证域及VAP模板调用的全流程,并附有终端连接测试与常见故障排查方法,助力企业实现高效、安全的无线网络接入管理。

weixin_29239661的博客 270

为什么 CSS 这么难学?

我推荐题主的学习方法就是:善用调试工具。 使用谷歌浏览器进行调试,在属性不理解时可以直接在浏览器里进行数值调节 css在书写时由于选择器权重问题经常出现样式覆盖的问题 如果你的选择器书写正确,并且被划掉了。 那应该就是权重不足导致的 下面是看起来很复杂的权重规则。 权重规则:HTML标签(类型选择符)的权重是1,class的权重是10,id的权重是100。 权重的表达方式如: 0,0,0,0; 类型选择符的权重为: 0,0,0,1 class选择符的权重为: 0,0,1,0 id选择符的权重为:

BOM485480的博客 235

模拟滤波器的基础知识和设计

使用Python实现多种模拟滤波器

faltas的博客 3530

【实战指南】利用CAN适配器高效调试CAN总线通信

本文提供了一份利用CAN适配器高效调试CAN总线通信的实战指南。文章从硬件连接、终端电阻配置、软件参数设置等基础环节入手,详细解析了CAN适配器作为关键调试工具的工作原理与使用方法,并针对常见的通信故障提供了系统化的问题排查思路,帮助工程师快速打通通信链路,提升调试效率。

weixin_28285943的博客 415

HTML 初学制作网页遇到问题的解决方法

一、网页制作时,将网页缩小或变大时,所出现的结构“散架”问题? 解决方案:你所设置的盒子宽高当为固定,不可以“%”表示。当缩放或增大时,所设置的“%”宽高会随页面变动,导致“散架”。 二、图片切换即轮播图可至以下网址,下载安装使用插件来达成效果。Swiper中文网-轮播图幻灯片js插件,H5页面前端开发Swiper(Swiper master)是目前应用较广泛的移动端网页触摸内容滑动js插件。Swiper中文网提供Swiper在线演示、Swiper中文教程、Swiper中文APi、Swiper下载。http

qq_51810428的博客 2688

Cursor 团队代码规范与开发规则

本文提出了一套 Cursor 项目开发规范,涵盖代码结构、命名、日志、测试等关键环节,旨在提升代码质量和团队协作效率。核心规则包括:文件不超过2000行、函数不超过80行;变量命名禁用无意义单词;日志只记录关键信息;配置项禁止硬编码;依赖和敏感信息统一管理;核心逻辑测试覆盖率≥80%;Git提交遵循Conventional Commits规范。通过一个车辆数据处理函数的改造案例,展示了从"不规范"到"规范"的代码优化过程,体现了拆分函数、常量管理、错误处理等规范的实际

1256

解决CSS高度塌陷问题

什么是高度塌陷 在文档流中,父元素的高度默认是被子元素撑开的,也就是子元素多高,父元素就多高。 但是当为子元素设置浮动以后,子元素会完全脱离文档流, 此时将会导致子元素无法撑起父元素的高度,导致父元素的高度塌陷。如: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <...

Javaxiaobaismc的博客 7125

【迁移学习】域对抗迁移网络 DANN

Domain-Adversarial Training of Neural Networks

这个博客太懒了什么都没说 8417

【Python计量】linearmodels面板数据回归(一)

我们以伍德里奇《计量经济学导论现代方法》的”第14章高级面板数据方法“的案例14.1为例,使用jtrain中的数据来进行固定效应估计。

mfsdmlove的博客 9277

深入理解 CSS 高度塌陷问题及解决方案

在 CSS 布局中,​**高度塌陷**(Collapsing Height)​​ 是一个**常见但容易被忽视**的问题。当父元素包含浮动(`float`)的子元素时,父元素的高度可能会“塌陷”为 `0`,导致布局错乱。本文将详细解析高度塌陷的原因、影响以及多种解决方案,帮助你写出更健壮的 CSS 代码。

weixin_43172311的博客 1425

智能测试策略优化:平衡覆盖率、时间和资源

在软件开发过程中,测试是确保软件质量的关键环节。然而,测试工作往往面临着诸多挑战,其中如何在保证测试覆盖率的前提下,合理分配时间和资源是一个核心问题。本文章的目的在于探讨智能测试策略的优化方法,帮助软件测试团队在有限的时间和资源条件下,实现尽可能高的测试覆盖率。文章的范围涵盖了智能测试策略的核心概念、算法原理、数学模型、实际应用案例以及相关工具和资源等方面。本文将按照以下结构进行组织:首先介绍智能测试策略优化的背景和相关概念,包括核心术语和缩略词的定义;

AIGC应用创新大全的博客 620

CSS解决高度塌陷问题

一、高度塌陷出现 默认下父元素包着子元素,如果父元素没设置高度,子元素会撑起父元素; 如果子元素设置为浮动,这子元素会脱离文档流,子元素不能撑起父元素出现高度塌陷。 浮动元素会变成行内块元素。 二、overflow解决高度塌陷 overflow属性规定当内容溢出元素框发生的事情 可取值:visible(默认值)、hidden(内容会被修剪)、scroll(内容会被修剪,但是浏览器会显示...

Luck_ZZ的博客 1305

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

CSS中高度塌陷问题以及解决办法

首先在DOM中,父元素div的高度在没有设定高度情况下是默认被子元素撑开,就是说父多高,子就有多高。可是在设定子元素为float:left/right后,子元素会完全脱离文档流,此时将会导致子元素无法撑起父元素的高度,导致父元素的高度塌陷。这样可能导致子元素对于父元素脱节,上移,导致整个界面布局混乱。</.box1/*为box1设置一个边框*/border;.box2width;height;;float;;

weixin_46011471的博客 1153

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

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

CSS中高度塌陷问题

一.高度塌陷产生原因: 父元素在文档流中高度默认是被子元素撑开的,当子元素脱离文档流以后,将无法撑起父元素的高度,也就会导致父元素的高度塌陷 二.造成后果: 父元素的高度一旦塌陷,所有标准流中元素的位置将会上移,导致整个页面布局混乱 三.解决方案: 1.开启父元素的BFC: (1)Block Formatting Context 块级格式化环境 (2)BFC是元素的隐含属性,默认是在关闭状态的 (...

weixin_39676449的博客 1518

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

css高度塌陷问题

首先什么是高度塌陷? 当我们需要给页面设置自适应宽高的时候,在文档流中,父元素的高度默认的情况下是被子元素的高度撑开的,子元素的高度就是父元素的高度,当我们给子元素设置了浮动厚,子元素就会脱离文档流; 当你第一次给父元素设置自适应的时候,又给子元素设置浮动元素的时候,你就会发现,父元素的高度没有了,这就是子元素无法撑起父元素的高度,从而导致了父元素的高度塌陷. 我们举例说明一下,首先我们建立一个父...

qq_43203656的博客 1211

CSS的高度塌陷问题

CSS的高度塌陷问题前言什么是高度塌陷?解决高度塌陷的四种方法额外标签法使用overflow添加:after伪类元素给父级添加双伪元素总结 前言 我们在编辑CSS的时候,经常会使用到很多的工具, 其中包括了使用标准流,浮动,定位来进行各种各样的网页布局。在这个过程中,浮动在进行设置时往往会出现一些问题,接下来就让我们来看看,在编写CSS语言的时候,浮动可能带来的问题。 什么是高度塌陷? 我们在进行网页布局的时候,父盒子的div为了放入很多内容来实现大量的篇章,所以选择不设置高度,用子盒子来撑开盒子。示.

DS153的博客 512

【CSS解决页面高度塌陷问题】

高度塌陷问题描述1、页面高度塌陷问题(1)产生原因(2)正常标准流盒子(3)子盒子浮动(4)归纳总结1.1、清除浮动本质1.2 、清除浮动的方法(1)方法一:额外标签法(2)方法二:给父级添加overflow属性方法①一个BFC的小知识(3)方法三:使用after伪元素清除浮动(4)方法四:clearfix类解决高度塌陷(推荐)1.3、一个常用布局框架实例 1、页面高度塌陷问题 (1)产生原因 我们都知道当元素浮动后,可以左右移动,直到遇到另一个浮动框或者遇到它外边缘的包含框。浮动框不属于文档流中的普通流,

橙子的博客 2031

css 高度塌陷_浅谈CSS 高度塌陷问题

表现例如:HTML:first-child1first-child2secondthirdCSS:.first{width: 300px;background-color: pink;}.first .first-child1,.first .first-child2{float: left;width: 100px;height: 100px;}.first .first-child1{back...

weixin_39771260的博客 145

关于CSS中解决高度塌陷的问题

​高度塌陷又称为高度坍塌,是CSS样式中间的bug,出现高度塌陷的原因归根在于子级元素含有浮动属性脱离了文档流,而父级元素未设置浮动属性或者未设置高度或高度为自适应auto。 效果图: 此时,子级元素浮动,父级元素高度为0。 那么我们怎么解决这个问题呢,对于新手小白,我们简单列举四种方式。 第一种:给父级元素添加高度height:value 效果图: 原理:可以理解为给父级元素划分好一个区域作为背景底板,使其不用元素撑...

qq_50502116的博客 1458
上一篇: HTML5表格,表单的实现过程
下一篇: CSS中的flex布局
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值