iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何解决css高度塌陷问题
  • 756
分享到

如何解决css高度塌陷问题

2023-06-08 04:06:48 756人浏览 薄情痞子
摘要

这篇文章将为大家详细讲解有关如何解决CSS高度塌陷问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. 高度塌陷在文档流中,父元素的高度默认被子元素撑开,也就是说子元素多高,父元素就多高。但是, 当为子

这篇文章将为大家详细讲解有关如何解决CSS高度塌陷问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

1. 高度塌陷

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

  • 由于父元素的高度塌陷了,则父元素下的所有元素都会向上移动,这样将会导致页面布局混乱。

  • 所以在开发中一定要避免出现高度塌陷的问题。

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <style type="text/css">    .box1{        border: 10px solid red;    }    </style></head><body><div class="box1">    <div class="box2">a</div></div></body></html>

结果:父元素box1的高度被子元素box2的a内容撑开。

如何解决css高度塌陷问题

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <style type="text/css">    .box1{        border: 10px solid red;    }    .box2{        width: 100px;        height: 100px;        background-color: greenyellow;    }    </style></head><body><div class="box1">    <div class="box2">a</div></div></body></html>

结果:父元素的高度被子元素的高度100撑开。

如何解决css高度塌陷问题

若为子元素设置浮动:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <style type="text/css">    .box1{        border: 10px solid red;    }    .box2{        width: 100px;        height: 100px;        background-color: greenyellow;        float: left;    }    .footer{        height: 50px;        background-color: pink;    }    </style></head><body><div class="box1">    <div class="box2"></div></div><div class="footer"></div></body></html>

结果:子元素浮动,父元素没有了高度。footer向上移动。

如何解决css高度塌陷问题

为父元素设置高度,避免塌陷:

.box1{        border: 10px solid red;        height: 100px;    }

结果:

如何解决css高度塌陷问题

但是当子元素的高度较高时,又会产生溢出的问题。父元素的高度一旦固定,父元素的高度将不能自动适应子元素的高度,所以这种方案不推荐使用:

  .box2{        width: 100px;        height: 200px;        background-color: greenyellow;        float: left;    }

结果:

如何解决css高度塌陷问题

2. 解决塌陷问题

根据w3c的标准,在页面中的元素都有一个隐含的属性叫做Block FORMatting Context, 简称BFC。该属性可以设置打开或者关闭,默认是关闭的。
当开启元素的BFC以后,元素将会具有如下的特征:
(1) 父元素的垂直外边距不会和子元素重叠
(2) 开启BFC的元素不会被浮动元素所覆盖
(3) 开启BFC的元素可以包含浮动的子元素

如何开启元素的BFC:

设置元素浮动

使用这种方式,虽然可以撑开父元素,但是会导致父元素的宽度丢失,而且使用这种方式也会导致下边的元素上移,不能解决问题

设置元素绝对定位

也有上面的问题

设置元素为inline-block

可以解决问题,但是会导致宽度丢失,不推荐使用这种方式

将元素的overflow 设置为一个非visible的值

推荐方式: 将父元素overflow设置为hidden,是副作用最小的开启BFC的方式

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <style type="text/css">    .box1{        border: 10px solid red;        overflow: hidden;    }    .box2{        width: 100px;        height: 100px;        background-color: greenyellow;        float: left;    }    .footer{        height: 50px;        background-color: pink;    }    </style></head><body><div class="box1">    <div class="box2"></div></div><div class="footer"></div></body></html>

结果:

如何解决css高度塌陷问题

注意: 但是在IE6中是不支持BFC的。所以引入hasLayout。

在IE6中有另一个隐含的属性叫做hasLayout,该属性的作用和BFC类似,所以IE6浏览器可以通过开hasLayout来解决问题。开启方式有很多,但是副作用最小的方式是: 直接将元素的zoom设置为1即可。

zoom表示放大的意思,后边跟一个数值,写几就是将元素放大几倍。

zoom:1 表示不放大元素,但是通过该样式可以开启hasLayout。

zoom这个样式,只在IE中支持,其他浏览器都不支持。

zoom: 1;overflow: hidden;

关于“如何解决css高度塌陷问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: 如何解决css高度塌陷问题

本文链接: https://www.lsjlt.com/news/251736.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • 如何解决css高度塌陷问题
    这篇文章将为大家详细讲解有关如何解决css高度塌陷问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. 高度塌陷在文档流中,父元素的高度默认被子元素撑开,也就是说子元素多高,父元素就多高。但是, 当为子...
    99+
    2023-06-08
  • CSS中如何解决高度塌陷问题
    这篇文章将为大家详细讲解有关CSS中如何解决高度塌陷问题,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。HTML:<div class="first">...
    99+
    2023-06-08
  • 如何解决css中高度塌陷的问题
    本文将为大家详细介绍“如何解决css中高度塌陷的问题”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“如何解决css中高度塌陷的问题”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下,一起去收获...
    99+
    2023-06-06
  • 如何解决margin-top塌陷的问题
    这篇文章给大家分享的是有关如何解决margin-top塌陷的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是margin-top塌陷margin-top塌陷是在CSS的盒...
    99+
    2024-04-02
  • 如何解决父级元素未设置高度和宽度时高度塌陷问题
    本篇内容介绍了“如何解决父级元素未设置高度和宽度时高度塌陷问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2024-04-02
  • css中父元素高度塌陷怎么解决
    这篇“css中父元素高度塌陷怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“css中...
    99+
    2024-04-02
  • CSS盒子塌陷如何解决
    本篇文章为大家展示了CSS盒子塌陷如何解决,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一,盒子塌陷是什么?本应该在父盒子内部的元素跑到了外部。二,为什么会出现盒子塌陷? 当父元素没设置足够大小的时...
    99+
    2023-06-08
  • CSS高度塌陷的方法有哪些
    本文小编为大家详细介绍“CSS高度塌陷的方法有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“CSS高度塌陷的方法有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。   ...
    99+
    2024-04-02
  • HTML中怎么解决margin塌陷问题
    这篇文章主要介绍了HTML中怎么解决margin塌陷问题的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇HTML中怎么解决margin塌陷问题文章都会有所收获,下面我们一起来看看...
    99+
    2024-04-02
  • CSS中出现外边距塌陷如何解决
    CSS中出现外边距塌陷如何解决?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。首先我们先看出现外边距塌陷的三种情况:当上下相邻的两个块级元素相遇,上面的元素有下边距margin-...
    99+
    2023-06-08
  • css怎么解决浮动导致父元素高度坍塌
    这篇“css怎么解决浮动导致父元素高度坍塌”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“css怎么解决浮动导致父元素高度坍塌”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接...
    99+
    2023-06-08
  • css怎么解决高度不一致问题
    这篇文章主要为大家展示了“css怎么解决高度不一致问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“css怎么解决高度不一致问题”这篇文章吧。 ...
    99+
    2024-04-02
  • 如何解决css高度设置百分比不生效的问题
    这篇文章主要讲解了“如何解决css高度设置百分比不生效的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决css高度设置百分比不生效的问题”吧! ...
    99+
    2024-04-02
  • CSS中textarea高度自适应问题怎么解决
    这篇文章主要介绍“CSS中textarea高度自适应问题怎么解决”,在日常操作中,相信很多人在CSS中textarea高度自适应问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望...
    99+
    2024-04-02
  • 如何解决CSS的最大高度、最小高度及宽度在IE6下没有效果的问题
    本篇内容介绍了“如何解决CSS的最大高度、最小高度及宽度在IE6下没有效果的问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细...
    99+
    2024-04-02
  • 如何解决Layui表格自适应高度的问题
    这篇文章将为大家详细讲解有关如何解决Layui表格自适应高度的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在写一个项目,发现成功将数据在页面显示后, 高度没有自适应...
    99+
    2024-04-02
  • css兼容问题如何解决
    这篇文章主要介绍了css兼容问题如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇css兼容问题如何解决文章都会有所收获,下面我们一起来看看吧。 针对差别的IE浏览器版...
    99+
    2024-04-02
  • 如何解决win8电脑主板温度过高的问题
    这篇文章主要介绍如何解决win8电脑主板温度过高的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!如果电脑刚启动 主板温度 就很高,一般是主板硬件出了问题。开机后 主板温度 一下子提升到65度以上,打开机箱后用手触...
    99+
    2023-06-28
  • Java如何解决高并发问题
    在Java中,可以采用以下几种方式来解决高并发问题:1. 使用线程池:线程池可以有效地管理线程的创建和销毁,避免频繁地创建和销毁线程...
    99+
    2023-10-20
    Java
  • CSS控制Html页面高度导致抖动问题怎么解决
    本篇内容介绍了“CSS控制Html页面高度导致抖动问题怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作