• 清除浮动


          好久没写博客了,果然心血来潮容易,坚持却很难。看了下张鑫旭大神的博客,这么厉害的人仍然坚持每周有产出,很惭愧。最近的确有些懈怠了。从软考结束,好像就没有一个去奋斗的目标了,日子自然就懒散起来了。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属性。如果父容器本身就是浮动元素,则无需额外处理,内部浮动自动清除。

  • 相关阅读:
    转:全面理解Javascript闭包和闭包的几种写法及用途
    VS2010 AnkhSvn
    silverlight 子UserControl获取父UserControl
    IIS相关
    (转)Javascript中console.log()用法
    (转)Sql Server 保留几位小数的两种做法
    asp.net Web API
    (转)C#中数组、ArrayList和List三者的区别
    PowerDesigner
    (转)jQuery.fn.extend与jQuery.extend到底区别在哪?
  • 原文地址:https://www.cnblogs.com/LXJ-CHEER/p/4978862.html
Copyright © 2020-2023  润新知