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

          好久没写博客了,果然心血来潮容易,坚持却很难。看了下张鑫旭大神的博客,这么厉害的人仍然坚持每周有产出,很惭愧。最近的确有些懈怠了。从软考结束,好像就没有一个去奋斗的目标了,日子自然就懒散起来了。2015年还有40多天,还是要振作起来,做一些事情。

          清除浮动,是前端很常见的一个问题。今天就来总结一下。

          法一:使用clear属性。

    <style>
        .clear{
            clear:both;
    }
        .fl{
            float:left;
    }
        .fr{
            float:right;
    }
    </style>
    
    <div>
        <div class="fl">左浮动</div>
        <div class="fr">右浮动</div>
    <div class="clear"></div>
    </div>

          显然,最后的那个div没有任何语义,仅仅是为了清除浮动而写的。这样,真的,好吗?

          法二:我在法一的基础上改进了一下,这也是从同事那里得到的灵感。是的,灵感。

    <style>
        .clearfix:after{
            display:block;
            content: ' ';
            height: 0;
            overflow: hidden;
            clear: both;
    }
        .fl{
            float:left;
    }
        .fr{
          float:right;
    }
    </style>
    <div>
        <ul class="clearfix">
            <li class="fl">左浮动</li>
            <li class="fr">右浮动</li>
        </ul>
    </div>

           使用了after伪元素,这样就不必写没有语义的多余的元素了。clearfix的写法是很有讲究的,至于为什么要这么写,他们怎样配合着起作用,我还不是很清楚。

           法三:给浮动元素的父容器添加overflow属性。

    <style>
        .of{
         /* overflow:hidden;*/
          overflow:auto;
    }
        .fl{
            float:left;       
    }
          .fr{
            float:right;
    }
    </style>
    
    <div class="of">
        <div class="fl">左浮动</div>
        <div class="fr">右浮动</div>
    </div>
    

      of类中的两句代码都可以使用,一般推荐使用auto。

          综上,清除浮动也就分了两类。一类是添加元素,另一类是给父容器加overflow属性。如果父容器本身就是浮动元素,则无需额外处理,内部浮动自动清除。

  • 相关阅读:
    JS中声明变量的细节问题
    你不知道的var! 细节
    读书笔记:对象的属性
    手写new操作符
    slice
    全相等函数 isEqual
    几个面试题
    全相等函数
    剑指 Offer 29. 顺时针打印矩阵
    剑指 Offer 28. 对称的二叉树
  • 原文地址:https://www.cnblogs.com/LXJ-CHEER/p/4978862.html
Copyright © 2011-2022 走看看