zoukankan      html  css  js  c++  java
  • 清除浮动

    清除浮动

    1. 什么是清除浮动(其实,理解为闭合浮动更好~~~)?

      在 父级元素没有设置高度 的情况下,子级使用了浮动,此时子级将无法撑开父级,由此而产生的问题。

    2. 清除浮动问题的方法

      清除浮动的本质:就是把浮动的盒子圈到里面,让父盒子闭合出口和入口

      方法一:父级添加 overflow 属性法

      overflow:hidden | scroll | auto 都可以实现

      方法二: 额外标签法(这种方法是借助清除浮动对兄弟元素造成的影响的方法,来实现的 )

      即:在最后一个子元素的后面加上一个空的div,并给它样式属性 style="clear:both"(虽然是w3c推荐的,但是实际中不推荐使用啊!^_^)    

    <div class="father">
      <div class="son1"></div>
      <div class="son2"></div>
      <!-- 在浮动的盒子后面加上一个 空盒子 -->
      <div style="clear:both"></div>
    </div>

         方法三: :after伪元素清除浮动法(百度、网易、淘宝)

    .clearfix:after {
            content:".";    /* 内容为小点,尽量不要为空,否则旧版的浏览器有空格产生 */
            display:block;    /* 转换为块级元素 */  
            height:0;    /* 高度为零 */
            visibility:hidden;    /* 隐藏内容,这样就看不见小点了 */
         overflow:hidden;
    clear:both; /* 清除浮动 */ }
    .clearfix {
    *zoom:1;
    /* 由于IE6和7不能识别after伪元素,所以使用这种兼容性的写法 */
    /* 其中的*代表的是IE6和7能识别的特殊符号,带有这个符号的话,就只能有IE6和7能执行 */
    /* 其中zoom是IE6和7清除浮动的方法 */
    }

       方法四: 使用before和after双伪元素清除浮动(强烈推荐,小米、腾讯)??? 

    /*下面是一个通用的写法,可以同时解决清除浮动问题和margin-top重叠的问题*/
    
    .clearfix:after,.clearfix:before{    /* .clearfix:before 可以解决margin-top重叠的问题 */
        content:"";   
        display:table; 
    }
    .clearfix:after{
        clear:both; 
    }
    .clearfix{    /*解决非标准浏览器,例如:IE浏览器,的清除浮动问题*/
        *zoom:1   
    }
    作者:David-lcw
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    【数字图像处理】 形态学转换
    【数字图像处理】阈值处理
    【数字图像处理】 图像平滑
    【数字图像处理】直方图均衡化
    【Tool】Augmentor和imgaug——python图像数据增强库
    [caffe] caffe训练tricks
    [Papers] Semantic Segmentation Papers(1)
    【Computer Vision】 复现分割网络(1)——SegNet
    Comet OJ
    NOI2019游记 —— 夏花般绚烂,繁星般璀璨
  • 原文地址:https://www.cnblogs.com/david-lcw/p/10055509.html
Copyright © 2011-2022 走看看