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
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    ecshop 浏览历史样式的修改
    onmouseover 执行 ToolTip 控件
    e​c​s​h​o​p​模​板​ l​b​i​文​件
    JS中 document.getElementById 对象
    JS CSS 网页 简单 右侧 悬浮
    css 简单 返回顶部 代码及注释说明
    php截取等长UFT8中英文混合字串
    Smarty中模板eq相等 ne、neq不相等, gt大于, lt小于
    iOS UI-集合视图(UICollectionView)
    iOS UI-表格控制器(UITableView)-基本使用
  • 原文地址:https://www.cnblogs.com/david-lcw/p/10055509.html
Copyright © 2011-2022 走看看