• 如何清除浮动


      正常的块级元素默认会独占一行,我们可以通过浮动的方式来使其脱离文档流,横向排列。但是浮动如果不及时清除,就会影响下一个元素的表现。所以我们要及时地清除浮动。那么如何清除浮动呢?

      首先说明,我们要的是真真正正的清除,不是撑起父元素,所以像为父元素设置高度,这种做法我不提倡。

      方法一:

      如果上一个元素是一个浮动元素,我们可以在其后面放置一个‘clear’元素,即将一个空元素设置成clear:both;这样之前的浮动效果就到此为止了。这样做还有一个好处就是,如果父元素没有设置宽和高,浮动元素不在文档流中,不会将父级元素撑起来。但是clear元素会将它撑起来。

      方法二:

      比较高端的方法,利用BFC特性。

      我们使用overflow:hidden;触发BFC。使父元素强行包裹浮动元素,并隔绝内外环境。外面的元素不会受里面浮动元素影响。

      方法三:

      为父元素设置高度,还是因为浮动元素不会撑起父元素,父元素是空的,是扁的。我们手动设置高度为浮动元素占位。

      方法四:

      父元素也浮动,我不提倡这种做法。

      方法五:

      父级div定义 伪元素:after 和 zoom

      

     1 .div1 {
     2     background-color:#0000ff;
     3     border:1px solid red;
     4 }
     5 
     6 .div2 {
     7     background-color:#ff0000;
     8     border:1px solid red;
     9     height:100px;
    10     margin-top:10px;
    11 }
    12  
    13 .left {
    14     float:left;
    15     width:20%;
    16     height:200px;
    17     background-color:#cccccc;
    18 }
    19 
    20 .right {
    21     float:right;
    22     width:30%;
    23     height:80px;
    24     background-color:#cccccc;
    25 }
    26  
    27 /*清除浮动*/
    28 .clearfloat:after {
    29     display:block;
    30     clear:both;content:"";
    31     visibility:hidden;
    32     height:0;
    33 }
    34 
    35 .clearfloat {
    36     zoom:1;
    37 }
    1 <div class="div1 clearfloat"> 
    2     <div class="left">左左</div> 
    3     <div class="right">右右</div> 
    4 </div>
    5  
    6 <div class="div2">第二个div</div>

      

    /*伪元素的方法不建议初学者使用*/

       方法六:

      将父元素设置为表格,同样不提倡。

  • 相关阅读:
    生成括号问题(22)
    Starting Jetty: Exception in thread "main" java.lang.UnsupportedClassVersionError: org/eclipse/jetty/start/Main : Unsupported major.minor version 52.0
    Oracle 使用Nid 修改数据库的DBID 和 Database Name
    Oracle SCN与时间的相互转换
    Oracle 启动 停止JOB
    Apache 负载均衡 端口转发 配置
    Oracle 将 A 用户下所有表的增删改查 赋予 B 用户
    更改表空间及数据文件的名称
    Oracle 缓存命中率问题一则(里面有个问题咨询大佬们)
    更改python版本
  • 原文地址:https://www.cnblogs.com/webARM/p/3781832.html
Copyright © 2020-2023  润新知