首页 > 其他分享 >CSS--如何用清除浮动来解决父盒高度塌陷及文字环绕的影响

CSS--如何用清除浮动来解决父盒高度塌陷及文字环绕的影响

时间:2024-10-20 14:48:06浏览次数:9  
标签:浮动 盒子 width -- 100px color 父盒 background CSS

一. 父盒的高度塌陷概念

在CSS中,当父元素的高度没有明确指定时,其高度由子盒撑开。若子盒全部浮走,则高度塌陷为0。

实验一

父盒高度为0的初始排列

<style>
        article{
            /* 给父盒设置宽度和背景 */
        width: 1000px;
        /* height: 600px; */
        background-color: gray;
        
    }
   
    #div1{
        width: 100px;
        height: 100px;
        background-color: red;
        
    }
    #div2{
        width: 100px;
        height: 100px;
        background-color: blue;
        
    }
    #div3{
        width: 100px;
        height: 150px;
        background-color: green;
        
    }
    #div4{
        width: 100px;
        height: 30px;
        background-color: pink;
        
    }
    #div5{
        width: 300px;
        /* border: 3px rgba(0, 191, 255, 0.84) solid; */
        background-color: yellow;
        
    }
    footer{
        width: 1000px;
        height: 50px;
        background-color:purple;
    }

    </style>
</head>
<body>
    <!-- 父盒 -->
    <article>
    
    <div id="div1">盒子1</div>
    <div id="div2">盒子2</div>
    <div id="div3">盒子3</div>
    <div id="div4">盒子4</div>
     </article>
     <footer>
        页脚
    </footer>
</body>

 这是一个高度为0的父盒,我们现在所看到的父盒高度是由于父盒内的4个子盒所撑起来的高度。

 将盒子1左浮动

#div1{
        width: 100px;
        height: 100px;
        background-color: red;
        
        float: left;
    }

本例中,由于盒子1左浮动,盒子2向上填补盒子1的位置,可以看到父盒的高度塌陷了。

将盒子2左浮动

#div2{
        width: 100px;
        height: 100px;
        background-color: blue;
        
        float: left;
    }

盒子2左浮动,此时在盒子1下的盒子2向右移动,其余盒子向上填补位置 ,由于盒子3高度较高,我们可以看到,盒子3被盒子1覆盖注了。这时父盒的高度由盒子3盒子4撑起来。

 将盒子3高度改变并左浮动

#div3{
        width: 100px;
        height: 100px;
        background-color: green;
        float: left;
    }

盒子3的高度改变,并向左浮动,而盒子4被盒子1覆盖住。这时父盒的高度由盒子4撑起来

将盒子4左浮动 

#div4{
        width: 100px;
        height: 30px;
        background-color: pink;
        float: left;
    }

由于盒子4的左浮动,父盒完全塌陷 

 以上就是关于父盒的高度塌陷的问题


如何解决 父盒的高度塌陷的问题呢?

1. 最简单的解决方法是"为父盒设置高度"

2. 清除浮动 

二. 清除浮动

概念:为当前盒子设置一个clear属性,清除前面盒子浮动对它的影响。

            1.left 清除前面盒子左浮动的影响;

            2.righ 清除前面盒子右浮动的影响;

            3.both  清除前面盒子浮动的影响(不管是左浮动还是右浮动);

            4. none  允许两边都有浮动对象

作用:可以解决高度塌陷和文字环绕带来的影响。

 clear:left /righ /both / none

实验二

清除浮动影响

#div5{
        width: 997px;
        border: 3px rgba(0, 191, 255, 0.84) solid;
        background-color: yellow;
        
    }

<div style="clear: both;" id="div5"></div>

接着上一个实验继续,我们如何解决高度塌陷的问题呢? 

在最后一个盒子4的后面,添加一个高度为0的盒子(真实元素或者伪元素均可),然后设置该盒子的clea属性,令该盒子“忽略”前面盒子4对其影响,从而拒绝向前递补盒子4文档流位置。 由于盒子4在文档流中的位置没有被侵占,故父盒仍旧被盒子4所撑开,不存在塌陷。

 就这样父盒高度塌陷的问题解决啦


三 文字环绕

文字环绕演示

未清除浮动时的文字环绕

<style>
        article{
            /* 给父盒设置宽度和背景 */
        width: 1000px;
        /* height: 600px; */
        background-color: gray;
        
    }
#div1{
        width: 100px;
        height: 100px;
        background-color: red;
        float: left;
    }
    #div2{
        width: 100px;
        height: 100px;
        background-color: blue;
        float: right;
    }
    #div3{
        width: 100px;
        height: 100px;
        background-color: green;
        float: left;
    }
    #div4{
        width: 100px;
        height: 30px;
        background-color: pink;
        float: right;
    }
    #div5{
        width: 997px;
        border: 3px rgba(0, 191, 255, 0.84) solid;
        background-color: yellow;
        
    }
    footer{
        width: 1000px;
        height: 50px;
        background-color:purple;
    }

    </style>
</head>
<body>
    <!-- 父盒 -->
    <article id="one">
    <div id="div1">盒子1</div>
    <div id="div2">盒子2</div>
    <div id="div3">盒子3</div>
    <div id="div4">盒子4</div>
    <p>清除浮动演示文本;清除浮动演示文本;清除浮动演示文本;清除浮动演示文本;清除浮动演示文本;
        清除浮动演示文本;清除浮动演示文本;清除浮动演示文本;清除浮动演示文本;清除浮动演示文本;
        清除浮动演示文本;清除浮动演示文本;清除浮动演示文本;清除浮动演示文本;清除浮动演示文本;
        清除浮动演示文本;
    <div style="clear: both;" id="div5"></div>
     </article>
    
     <footer>
        页脚
    </footer>
</body>

 清除浮动后的文字环绕

 #one p{
        /* 设置容器中段落的样式 */
        border: 2px black dashed;
        background-color: aquamarine;
        /* 清除浮动 */
        clear: both;
    }

在对段落设置了clear:both;  清除浮动后,可以将段落之前的浮动全部清除,使段落按正常的文档流显示。 

标签:浮动,盒子,width,--,100px,color,父盒,background,CSS
From: https://blog.csdn.net/2301_82005922/article/details/143090876

相关文章

  • 20222302 2024-2025-1 《网络与系统攻防技术》实验二实验报告
    1.实验内容本次实验旨在通过实际操作理解并实践网络攻击中的后门原理,包括使用不同的工具和技术来获取目标主机的操作Shell、执行特定任务、收集敏感信息以及进行权限提升;本次实验需要我们使用nc实现win,mac,Linux间的后门连接:meterpreter的应用、MSFPOST模块的应用,实验可以分为以......
  • 炸了!改进Transformer!Transformer-BiGRU多变量回归预测(Matlab)
    炸了!改进Transformer!Transformer-BiGRU多变量回归预测(Matlab)目录炸了!改进Transformer!Transformer-BiGRU多变量回归预测(Matlab)分类效果基本介绍程序设计参考资料分类效果基本介绍1.Matlab实现Transformer-BiGRU多变量回归预测,Transformer-BiGRU;2.运行环境......
  • pbootcms在阿里云虚拟主机上验证码不显示的原因?
    解决方案开启PHP输出缓冲区登录阿里云控制台:访问阿里云官网,使用您的账号登录。进入主机管理面板:在控制台中找到并进入您的虚拟主机管理页面。配置PHP设置:找到PHP设置或配置选项。选择您当前使用的PHP版本进行配置。编辑 php.ini 文件:在PHP配......
  • java+vue计算机毕设蛋糕店销售管理系统【开题+程序+论文+源码】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着生活水平的不断提升,消费者对蛋糕等甜点的需求日益多样化与个性化。蛋糕店作为满足这一需求的重要场所,其业务管理面临着诸多挑战。传统的手工记录......
  • java+vue计算机毕设房屋空气治理预约平台的设计与实现【开题+程序+论文+源码】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着城市化进程的加速和人们生活水平的提高,房屋装修和居住环境的改善成为现代人生活中的重要议题。然而,装修过程中使用的各种材料往往会释放出甲醛、......
  • python+flask框架的基于Uniapp的核酸检测系统(开题+程序+论文) 计算机毕业设计
    取,系统界面在最后面。系统程序文件列表开题报告内容选题背景在当前全球新冠疫情的背景下,核酸检测已成为疫情防控的重要手段之一。关于核酸检测系统的研究,现有研究主要集中在大型医疗机构或政府卫生部门的信息系统整合与优化上,专门针对移动端、特别是基于Uniapp框架的核酸......
  • python+flask框架的基于SSM框架的微信小程序(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景随着移动互联网技术的飞速发展,微信小程序作为一种轻量级的应用形式,已经深入到人们的日常生活中。微信小程序以其无需下载、即用即走的特点......
  • python+flask框架的基于OA技术的办公文档归档系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景关于办公文档归档系统的研究,现有研究主要集中在传统档案管理系统以及大型企业级内容管理系统(ECM)方面,这些系统虽然功能强大,但往往复杂且成......
  • springboot+vue安康旅游网站【开题+程序+论文】
    系统程序文件列表开题报告内容研究背景在当今社会,旅游业已成为推动地方经济、提升城市形象的重要力量。安康,这座位于秦岭巴山之间的美丽城市,以其丰富的自然资源、深厚的历史文化底蕴和独特的民俗风情,吸引了众多国内外游客的目光。然而,随着旅游业的快速发展,游客对于旅游信息......
  • springboot+vue安检人员执勤信息管理系统【开题+程序+论文】
    系统程序文件列表开题报告内容研究背景随着社会的快速发展和人们安全意识的日益增强,安检工作已成为维护公共安全、保障社会秩序的重要环节。在各类交通枢纽、公共场所及特殊活动现场,安检人员承担着不可替代的责任,他们的执勤效率与管理水平直接关系到公共安全的防范能力。然......