飞翔的鱼 飞翔的鱼
首页
  • Http
  • Ajax
  • Node
  • MongoDB
  • Axios
  • Git
  • Webpack
  • React
  • Vue
  • Uni-app
  • 性能优化
  • 移动端
  • HTML
  • CSS
  • stylus
  • 常用
  • 实战
  • 实用网站
  • 资源库
  • Vue专区
关于
  • css效果
  • js效果
  • 拥抱生活
  • 生活知道
GitHub (opens new window)

Wang

飞翔的鱼
首页
  • Http
  • Ajax
  • Node
  • MongoDB
  • Axios
  • Git
  • Webpack
  • React
  • Vue
  • Uni-app
  • 性能优化
  • 移动端
  • HTML
  • CSS
  • stylus
  • 常用
  • 实战
  • 实用网站
  • 资源库
  • Vue专区
关于
  • css效果
  • js效果
  • 拥抱生活
  • 生活知道
GitHub (opens new window)
  • HTML

  • CSS

    • CSS教程和技巧收藏
    • flex布局语法
    • flex布局案例-基础
    • flex布局案例-骰子
    • flex布局案例-圣杯布局
    • flex布局案例-网格布局
    • flex布局案例-输入框布局
    • CSS3之transition过渡
    • CSS3之animation动画
    • 清除浮动的方法
      • 清除浮动最常用的4种方法
        • 1.额外标签法(新增div,设置clear:both,不推荐使用)
        • 2.父级添加overflow属性(不推荐使用)
        • 3.使用after伪元素清除浮动(推荐使用)
        • 4.使用before和after双伪元素清除浮动(推荐使用)
    • 「布局技巧」图片未加载前自动撑开元素高度
    • 文字在一行或两行时超出显示省略号
    • 从box-sizing属性入手,了解盒子模型
    • 水平垂直居中的几种方式-案例
    • 如何根据系统主题自动响应CSS深色模式
    • 「css技巧」使用hover和attr()定制悬浮提示
  • stylus

  • 页面
  • CSS
wang jiaqi
2021-03-18

清除浮动的方法

# 清除浮动的四种方法

# 清除浮动主要是为了解决,父元素因为子级元素浮动引起高度塌陷问题

正常情况下排列

<style>
    .father {
      border: 2px solid black;
    }
    .son {     
      width: 200px;
      height: 200px;
      background-color: aqua;
      clear: both;
    }
    .other {
      width: 600px;
      height: 100px;
      background-color: blue;
    }
</style>
<html>
    <body>
    <div class="father">
      <div class="son"></div>
      <div class="extra"></div>
    </div>
    <div class="other"></div>
  </body>
</html>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

# 当给子盒子加上float属性的时候,父盒子就会塌陷,形成一条线,这时就需要清除浮动

# 清除浮动最常用的4种方法

# 1.额外标签法(新增div,设置clear:both,不推荐使用)

优点:通俗易懂,方便

缺点:添加无意义标签,语义化差

    <style>
         .extra {
            clear: both;
        }
    </style>

    <div class="father">
      <div class="son"></div>
      <div class="extra"></div>  //新增div
    </div>
    <div class="other"></div>
    
1
2
3
4
5
6
7
8
9
10
11
12

# 2.父级添加overflow属性(不推荐使用)

优点:代码简洁

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

    <style>
        .father {
            border: 2px solid black;
            overflow: hidden;
        }
    </style>
    
1
2
3
4
5
6
7

# 3.使用after伪元素清除浮动(推荐使用)

优点:符合闭合浮动思想,结构语义化正确

缺点:ie6-7不支持伪元素:after,使用zoom:1触发hasLayout.

    <style>
        .clearfix:after {
            /*伪元素是行内元素 正常浏览器清除浮动方法*/
            content: "";
            display: block;
            height: 0;
            clear: both;
            visibility: hidden;
        }
        .clearfix {
            *zoom: 1; /*ie6清除浮动的方式 *号只有IE6-IE7执行,其他浏览器不执行*/
        }
    </style>

    <div class="father clearfix">
        <div class="son"></div>
    </div>
    <div class="other"></div>
    
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# 4.使用before和after双伪元素清除浮动(推荐使用)

优点:代码更简洁

缺点:用zoom:1触发hasLayout.

    <style>
        .clearfix:after,
        .clearfix:before {
            content: "";
            display: table;
        }
        .clearfix:after {
        clear: both;
        }
        .clearfix {
        *zoom: 1;
        }
    </style>

    <div class="father clearfix">
        <div class="son"></div>
    </div>
    <div class="other"></div>
    
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
编辑 (opens new window)
上次更新: 2021/07/01, 20:33:02
CSS3之animation动画
「布局技巧」图片未加载前自动撑开元素高度

← CSS3之animation动画 「布局技巧」图片未加载前自动撑开元素高度→

最近更新
01
数组常用方法
05-21
02
边框
04-30
03
js1
04-29
更多文章>
Theme by Vdoing | Copyright © 2021-2021 本博客仅仅作为自己日常学习记录笔记使用
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×