返回顶部
首页 > 资讯 > 精选 >CSS布局中浮动问题怎么解决
  • 594
分享到

CSS布局中浮动问题怎么解决

2023-06-08 02:06:39 594人浏览 泡泡鱼
摘要

本文将为大家详细介绍“CSS布局中浮动问题怎么解决”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“CSS布局中浮动问题怎么解决”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下,一起去收获新知

本文将为大家详细介绍“CSS布局中浮动问题怎么解决”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“CSS布局中浮动问题怎么解决”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下,一起去收获新知识吧。

一、起因:

CSS布局中浮动问题怎么解决

子盒子设置浮动之后效果:

CSS布局中浮动问题怎么解决

由此可见,蓝色的盒子设置浮动之后,因为脱离了标准文档流,它撑不起父盒子的高度,导致父盒子 高度塌陷 。如果网页中出现了这种问题,会导致我们整个网页的布局紊乱

二、解决方案:

  • 父盒子设置固定高度------------------给父元素添加固定的高度

  • 内墙法 -------------------------------在父元素的后面添加一个空的div添加样式为  clear:both

  • 伪元素清除法-------------------------给父元素类名添加一个类叫   clearfix   (推荐)

  • overflow:hidden---------------------给父元素样式添加  overflow:hidden

(1)父盒子设置固定高度

CSS布局中浮动问题怎么解决

虽然,给父盒子设置了固定高度能暂时解决我们的问题,但是它的使用不灵活,如果未来子盒子的高度需求发生了改变(网页的多处地方),那么我们得手动需要更改父盒子的高度。后期不易维护。

应用:网页中盒子固定高度区域,比如固定的导航栏。

缺点:使用不灵活,后期不易维护

(2)内墙法

在浮动元素的后面加一个空的 块级元素 (通常是div),并且该元素设置 clear:both; 属性。clear属性,字面意思就是清除,那么both,就是清除浮动元素对我左右两边的影响。

代码如下:

<!DOCTYPE html>    <html>    <head>        <meta charset="utf-8">        <title>浮动元素的破坏性</title>        <style type="text/css">            .father{                border: 1px solid red;            }            .child{                width: 200px;                height: 200px;                float: left;                background-color: green;            }            .clearfix{                clear: both;            }        </style>    </head>    <body>        <div class="father">            <div class="child">儿子</div>            <div class="clearfix"></div>        </div>    </body>    </html>

应用:网页中应用不多,只是为了引导下一个清除浮动的方式。

缺点:结构冗余

(3)伪元素清除法

内墙法是在浮动元素的后面加一个空的 块级元素 (通常是div),并且该元素设置 clear:both; 属性。

那么正好在css3的属性用法中整好有个选择器也完全符合这个用法,伪元素选择器。它就像伪类一样,让伪元素添加了选择器,但不是描述特殊的状态,允许为元素的 某些部分设置样式 。

CSS布局中浮动问题怎么解决 

表示在p标签元素的最后面添加样式,同时这也正好符合内墙法的用法。

代码如下:

<!DOCTYPE html>    <html>    <head>        <meta charset="utf-8">        <title>浮动元素的破坏性</title>        <style type="text/css">            .father{                border: 1px solid red;            }            .child{                width: 200px;                height: 200px;                float: left;                background-color: green;            }            .cleafix:after{                content:'.';                display: block;                clear: both;                overflow: hidden;                height: 0;            }        </style>    </head>    <body>        <div class="father clearfix">            <div class="child">儿子</div>        </div>    </body>    </html>

当以后需要清除浮动时只需要在标签中再添加一个 “clearfix” 类就行,十分的方便快捷 !

编写的伪元素清除法内容解释:

.clearfix:after{        content:'';       表示给.clearfix元素内部最后添加一个内容,该内容为行内元素。        display: block;       设置该元素为块级元素,符合内墙法的需求。(有的地方使用table,因为table也是一个块级元素)        clear: both;      清除浮动的方法。必须要写        overflow: hidden;     如果用display:none;,那么就不能满足该元素是块级元素了。overflow:hidden;表示隐藏元素,但是该元素占位置;而display:none;不占位置。        height: 0;    }

此处梳理一下:after(伪类)和::after(伪元素)的区别

相同点

  • 都可以用来表示伪类对象,用来设置对象前的内容

  • :before和::before写法是等效的; :after和::after写法是等效的,版本不同而已
     

不同点

  • :before/:after是Css2的写法,::before/::after是Css3的写法

  • :before/:after 的兼容性要比::before/::after好 ,

  • 不过在H5开发中建议使用::before/::after比较好
     

注意

  • 这些伪元素 要配合content属性一起使用

  • 这些伪元素 不会出现在DOM中,所以不能通过js来操作,仅仅是在 CSS 渲染层加入

  • 这些伪元素 的特效通常要使用:hover伪类样式来激活

(4)overflow:hidden

CSS属性overflow定义一个元素的内容太大而无法适应盒子的时候该做什么。它是overflow-x和overflow-y的简写属性

CSS布局中浮动问题怎么解决

overflow属性不仅仅能实现以上效果,那么当一个元素设置了overflow:hidden|auto|scroll属性之后,它会形成一个BFC区域,我们叫做它为 块级格式化上下文

BFC只是一个规则。它对浮动定位都很重要。浮动定位和清除浮动只会应用于同一个BFC的元素。

浮动不会影响其它BFC中元素的布局,而清除浮动只能清除同一BFC中在它前面的元素的浮动。

CSS布局中浮动问题怎么解决

优点:代码简洁

缺点:内容增多的时候容易造成不会自动换行导致内容被隐藏掉,无法显示要溢出的元素

总结:只要我们让父盒子形成BFC的区域,那么它就会自动清除区域中浮动元素带来的影响 。

哪些会形成BFC区域:

CSS布局中浮动问题怎么解决

如果你能读到这里,小编希望你对“CSS布局中浮动问题怎么解决”这一关键问题有了从实践层面最深刻的体会,具体使用情况还需要大家自己动手实践使用过才能领会,如果想阅读更多相关内容的文章,欢迎关注编程网精选频道!

--结束END--

本文标题: CSS布局中浮动问题怎么解决

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

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

猜你喜欢
  • CSS布局中浮动问题怎么解决
    本文将为大家详细介绍“CSS布局中浮动问题怎么解决”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“CSS布局中浮动问题怎么解决”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下,一起去收获新知...
    99+
    2023-06-08
  • CSS怎么清除浮动布局
    这篇文章主要介绍“CSS怎么清除浮动布局”,在日常操作中,相信很多人在CSS怎么清除浮动布局问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CSS怎么清除浮动布局”的疑惑有所帮...
    99+
    2024-04-02
  • CSS布局中常见的问题及解决方案
    这篇文章主要介绍“CSS布局中常见的问题及解决方案”,在日常操作中,相信很多人在CSS布局中常见的问题及解决方案问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CSS布局中常见...
    99+
    2024-04-02
  • CSS浮动布局及文档流是什么
    这篇文章主要介绍“CSS浮动布局及文档流是什么”,在日常操作中,相信很多人在CSS浮动布局及文档流是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CSS浮动布局及文档流是...
    99+
    2024-04-02
  • 怎么解决DIV+CSS布局在IE和firefox中不兼容的问题
    本篇内容介绍了“怎么解决DIV+CSS布局在IE和firefox中不兼容的问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅...
    99+
    2024-04-02
  • 怎么解决CSS崩溃的父母有浮动子女问题
    本篇内容介绍了“怎么解决CSS崩溃的父母有浮动子女问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 答...
    99+
    2024-04-02
  • 怎么用DIV浮动定位实现CSS分栏布局
    这篇文章主要讲解了“怎么用DIV浮动定位实现CSS分栏布局”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用DIV浮动定位实现CSS分栏布局”吧!CSS分...
    99+
    2024-04-02
  • div css左右浮动布局的方法是什么
    这篇文章主要介绍“div css左右浮动布局的方法是什么”,在日常操作中,相信很多人在div css左右浮动布局的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”di...
    99+
    2024-04-02
  • css中flaot浮动的原因及怎么解决
    这篇文章主要讲解了“css中flaot浮动的原因及怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“css中flaot浮动的原因及怎么解决”吧!   ...
    99+
    2024-04-02
  • 怎么用clearfix:after消除css浮动解决外部div不能撑开问题
    这篇文章主要介绍“怎么用clearfix:after消除css浮动解决外部div不能撑开问题”,在日常操作中,相信很多人在怎么用clearfix:after消除css浮动解决外部div不能撑开问题问题上存在...
    99+
    2024-04-02
  • DIV+CSS页面布局的常见问题及解决方案
    这篇文章主要讲解了“DIV+CSS页面布局的常见问题及解决方案”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“DIV+CSS页面布局的常见问题及解决方案”吧!...
    99+
    2024-04-02
  • HTML5+CSS怎么解决设置浮动却没有动反而在中间且错行的问题
    小编给大家分享一下HTML5+CSS怎么解决设置浮动却没有动反而在中间且错行的问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!今天按照网上例程写小米官网,结果发现这一部分 设置一个父盒子 然后子盒子分别设置左右浮动&nb...
    99+
    2023-06-09
  • html5广告悬浮问题怎么解决
    这篇文章主要介绍了html5广告悬浮问题怎么解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇html5广告悬浮问题怎么解决文章都会有所收获,下面我们一起来看看吧。解决方法: ...
    99+
    2024-04-02
  • JavaScript运动框架怎么解决防抖动问题、悬浮对联
    这篇文章主要为大家展示了“JavaScript运动框架怎么解决防抖动问题、悬浮对联”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript运动框架怎么...
    99+
    2024-04-02
  • css中怎么清除浮动
    这篇文章给大家介绍css中怎么清除浮动,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1、【.clr{clear:both;}】,设置了clear属性的元素,其上边框会紧贴着浮动元素的m...
    99+
    2024-04-02
  • CSS中Float浮动怎么用
    这篇文章给大家分享的是有关CSS中Float浮动怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。CSS 的 Float(浮动),会使元素向左或向右移动,其周围的元素也会重新排...
    99+
    2024-04-02
  • IE与FF不兼容网页布局CSS问题的解决方法
    今天就跟大家聊聊有关IE与FF不兼容网页布局CSS问题的解决方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。向大家简单介绍一下IE与FF不兼容网页...
    99+
    2024-04-02
  • 如何解决flex布局兼容性问题
    这篇文章将为大家详细讲解有关如何解决flex布局兼容性问题,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一.W3C各个版本的flex2009 version标志:display: box; ...
    99+
    2023-06-08
  • 如何解决IE7float中left左浮动失效的问题
    今天就跟大家聊聊有关如何解决IE7float中left左浮动失效的问题,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。代码如下:<div&nbs...
    99+
    2024-04-02
  • 解决移动端响应式布局常见问题的方案
    移动端响应式布局的常见问题及解决方案 随着移动互联网的快速发展,越来越多的人开始使用移动设备访问网页,这也给网页设计师带来了新的挑战。为了适应不同设备的屏幕尺寸,移动端响应式布局成为了一种流行的设计趋势。然而,在实际应用中,我们...
    99+
    2024-01-29
    解决方案 布局 响应式设计
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作