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;
        }

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

  • 相关阅读:
    Andriod ADT v22.6.2版本中在Mainactivity.java中使用fragment_main.xml中TextView控件对象的问题
    SQL学习:查询的用法(1)
    SQL学习:主键,外键,主键表,外键表,数据库的表与表之间的关系;
    HTML基础(2) 格式标签 文本标签
    2013年10月15日数据库学习:约束
    HTML基础(1) 全局架构标签,特殊字符
    2013年10月13日学习:SQL通过命令语句来创建表
    2013年10月13日学习:SQL通过图形化界面创建表
    Tomcat和Nutch的安装
    sqlserver 处理连接池问题
  • 原文地址:https://www.cnblogs.com/Lu-Lu/p/6253714.html
Copyright © 2011-2022 走看看