zoukankan      html  css  js  c++  java
  • 清除浮动的几种方式

    最近来了个小徒弟,总是被浮动的盒子整蒙圈了,作为小师父的我就给他梳理一下:

     

    浮动就是页面布局中是某些盒子添加了float:left 或float:right的类名或属性。其具有以下特点:

    1. 浮动的元素会脱离标准流;
    2. 浮动后的元素会覆盖标准流的元素;
    3. 浮动规则:浮动找浮动,不浮动找不浮动;
    4. 浮动显示的位置与原本不浮动的位置是对应的;
    5. 浮动的元素会影响下面的元素;
    6. 浮动的元素会改变显示方式(行内块级元素):

        a) 不管元素是行内元素还是块级元素都会在同一行显示;

        b) 浮动后的元素可以设置宽高;

     

      例:一个父盒子中有一个子盒子,父盒子没有设置宽高,若子盒子在父盒子中浮动,那么下面的元素会自动补位,所以需要清除浮动(clear:both)。

    清除浮动:

    1. 额外标签法:在浮动的盒子下面再放一个标签,在这个标签中使用clear:both类名或属性来清除浮动对页面的影响:

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

        b) 外部标签:会将浮动效果清楚,但不会撑开父盒子。

        注意:一般不使用此方法,会增加页面标签。

       2. 使用overflow属性:先找到浮动盒子的父元素,再在父元素中添加overflow:hidden属性。

        注意:一般不使用此方法,因为溢出这个元素所在的区域会被隐藏。

       3.使用伪元素:

        .clearfix:after {
            content: '';
            height: 0;
            line-height: 0; /*或 overflow:hidden*/
            display: block;
            visibility: hidden;
            clear: both;
        }
        .clearfix {
            zoom: 1;  /*兼容ie6*/
        }

     

       4. 双伪元素标签:页面上不存在的元素可以通过css添加上去,每个元素都有自己的伪元素。

     

        .clearfix:before,
        .clearfix:after {
            content: '';
            display: table;
        }
        .clearfix:after {
            clear: both;
        }
        .clearfix {
            zoom: 1;
        }

    这是我总结的几种清除浮动的方式,希望对大家有帮助。

  • 相关阅读:
    算法(第四版)C# 习题题解——2.4
    算法(第四版)C# 习题题解——2.3
    .NET编译的目标平台(AnyCPU,x86,x64)
    Windows无法访问局域网内共享文件夹[0x800704cf,0x80070035]解决方案
    ASP.NET 网站部署到IIS上如何进行调试
    ASP.NET 前台Javascript调用后台代码 / 后台调用前台Javascript
    C#反射-Assembly.Load、LoadFrom与LoadFile
    Entity Framework Context上下文管理(CallContext 数据槽)
    Entity Framework(EF的Code First方法)
    Entity Framework(EF的Model First方法)
  • 原文地址:https://www.cnblogs.com/Lu-Lu/p/6253714.html
Copyright © 2011-2022 走看看