关于清除浮动的四种方法

浮动清除方法详解
本文详细介绍了四种清除浮动的方法,包括使用overflow属性、额外标签法、伪元素法及双伪元素法,并对比了它们各自的优缺点。

浮动对页面的影响:

    如果一个父盒子中有一个子盒子,并且父盒子没有设置高,子盒子在父盒子中进行了浮动,那么将来父盒子的高度为0.由于父盒子的高度为0,

    下面的元素会自动补位,所以这个时候要进行浮动的清除。

关于清除浮动的方式:

 

  方式一:使用overflow属性来清除浮动

    .ovh{

      overflow:hidden;

     }

    先找到浮动盒子的父元素,再在父元素中添加一个属性:overflow:hidden,就是清除这个父元素中的子元素浮动对页面的影响.

    注意:一般情况下也不会使用这种方式,因为overflow:hidden有一个特点,离开了这个元素所在的区域以后会被隐藏(overflow:hidden会将超出的部分隐藏起来).

 

  方式二:使用额外标签法

    .clear{

      clear:both;

     }

    在浮动的盒子之下再放一个标签,在这个标签中使用clear:both,来清除浮动对页面的影响.

      a.内部标签:会将这个浮动盒子的父盒子高度重新撑开.

      b.外部标签:会将这个浮动盒子的影响清除,但是不会撑开父盒子.

    注意:一般情况下不会使用这一种方式来清除浮动。因为这种清除浮动的方式会增加页面的标签,造成结构的混乱.

 

  方法三:使用伪元素来清除浮动(after意思:后来,以后)

    .clearfix:after{

      content:"";//设置内容为空

      height:0;//高度为0

      line-height:0;//行高为0

      display:block;//将文本转为块级元素

      visibility:hidden;//将元素隐藏

      clear:both//清除浮动

     }

    .clearfix{

      zoom:1;为了兼容IE

    }

  方法四:使用双伪元素清除浮动

    .clearfix:before,.clearfix:after {

                  content: "";

                  display: block;

                  clear: both;

            }

            .clearfix {

                  zoom: 1;

            }

 

    总结:第一种方法会将超出部分隐藏在某些时候我们想清除浮动并且保留超出部分时做不到,第二种方法会增加许多不必要的标签,

      所以我们尽量使用第三种方法来清除浮动,为什么不选择第四种方法呢?因为第四种是第三种的改良版虽然比较简便,但是不

      严谨!

转载于:https://www.cnblogs.com/qq364735538/p/5997134.html

在前端开发中,CSS清除浮动的常用方法包括以下几种: ### 方法一:使用空标签清除浮动 通过在浮动元素的父容器末尾添加一个空的 `<div>` 标签,并为其设置 `clear:both` 样式来清除浮动。这种方法简单直接,但会引入无意义的 HTML 标签,不利于结构与样式的分离[^2]。 ```html <div class="container"> <div class="float-left">Left floated element</div> <div class="float-right">Right floated element</div> <div style="clear:both;"></div> </div> ``` ### 方法二:使用伪元素 `::after` 清除浮动 利用伪元素 `::after` 在父容器末尾动态添加一个内容为空的块级元素,并设置 `clear:both` 样式,从而清除浮动。这种方法避免了添加无意义的 HTML 标签,推荐在现代浏览器中使用[^3]。 ```css .clearfix::after { content: ""; display: block; clear: both; } ``` ```html <div class="container clearfix"> <div class="float-left">Left floated element</div> <div class="float-right">Right floated element</div> </div> ``` ### 方法三:使用 `overflow` 属性清除浮动 为父容器设置 `overflow:hidden` 或 `overflow:auto` 样式,利用块级格式化上下文(BFC)的特性自动清除内部浮动。这种方法代码简洁,但需要注意避免影响容器内部溢出内容的显示效果[^4]。 ```css .container { overflow: hidden; } ``` ### 方法四:使用 `clear` 属性单独清除特定元素浮动 为需要清除浮动的元素直接设置 `clear:left`、`clear:right` 或 `clear:both` 样式,用于控制该元素与前面浮动元素的关系。这种方法适用于局部清除浮动的场景[^4]。 ```css .clear-both { clear: both; } ``` ### 方法五:Flexbox 或 Grid 布局替代浮动 在现代网页布局中,可以考虑使用 Flexbox 或 CSS Grid 替代传统的浮动布局方式,从而避免浮动带来的问题。这些布局方法能够更灵活地控制元素排列和对齐方式,是推荐的替代方案[^3]。 ```css .container { display: flex; } ``` 以上方法各有优劣,选择合适的方法取决于具体的项目需求和浏览器兼容性要求。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值