zoukankan      html  css  js  c++  java
  • 关于CSS清理浮动的方法

    清理浮动有很多种方法,如果考虑到兼容性问题和语义化问题,一般可以使用如下代码来清理浮动:

    .clearfix:after {
        visibility:hidden;
        display:block;
        font-size:0;
        content:" ";
        clear:both;
        height:0;
    }
    .clearfix {
        zoom:1;
    }
    其原理是,在“高级”浏览器中使用:after伪类在浮动块后面加上一个非display:none不可见块状内容并给它设置clear:both来清理浮动。在IE6和7中给浮动块添加haslayout来让浮动块撑高并正常影响文档流。
    上面的代码是现在主流的清理浮动的方式。另外,Nicolas Gallagher又给出了一个更简洁的方案:
    .cf:before, .cf:after {
        content:"";
        display:table;
    }
    .cf:after {
        clear:both;
    }
    .cf {
        zoom:1;
    }
    原理还是一样的。使用:after伪类来提供浮动块后的clear:both。不同的是,隐藏这个空白使用的是display: table。而不是设置 visibility:hidden;height:0;font-size:0; 这样的hack。
    值得注意的是这里的 :before 伪类。其实它是来用处理 top-margin 边折叠的,跟清理浮动没有多大的关系。但因为浮动会创建 block formatting context(BFC),这样浮动元素上的另一元素上如果刚好有 margin-bottom 而这个浮动元素刚好有margin-top 的话,应该让他们不折叠(虽然这种情况并不常见)。

  • 相关阅读:
    KnockOut循环绑定
    json数组排序
    1,滑动验证,前后台接口
    写个js程序咖常写的游戏-贪吃蛇
    ionic的路由配置及参数传递
    基于jq, jquery.easie.js 开发面向对象通栏焦点图组件
    面向对象开发弹窗组件
    基于jquery开发的选项卡
    JavaScript多线程 html5 Worker, SharedWorker
    gulp常用任务
  • 原文地址:https://www.cnblogs.com/cangmang/p/rrucelee.html
Copyright © 2011-2022 走看看