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

    浮动:

     浮动的框可以左右移动,直到它的边缘碰到包含框或另一个浮动框的边框为止。文档的普通流中的块框会当浮动框不存在一样。但会影响内联框(通常是文本)的排列。

    属性值有:left,right,none;

    当浮动元素的父元素没有其他元素内容的时候,父元素会出现“勾搭塌陷”的情况,浮动元素脱离了父元素。为了避免这种情况,需要清除浮动。

    清除浮动:

    方法一:

    clear:both;

    在需要清除浮动的地方都加上这句话可以达到目标,兼容性好。但会增加重复代码。

    方法二:

    使用overflow:hidder;  或则zoom:1;

    浮动元素会回到容器里面。

    方法三:

    :afte伪元素

    给浮动元素的容器添加一个clearfix的class,然后给这个class添加一个:after伪元素实现元素末尾添加一个看不见的块元素清楚浮动。

    可完美兼容各主流浏览器。

    .box{

    backgroudn:green;

    border:1px solid red;

    }

    .box img{

    float:left;

    }

    .box p{

    float:right;

    }

    .clearfix:after{

    content:".";

    display:block;

    height:0;

    clear:both;

    visibility:hidden;

    }

    .clearfix{

    zoom:1;//触发hasLayout,兼容IE6和IE7

    }

    <div class="box">

    <img src="">

    <p>text</p>

    </div>

    用伪元素方法更合适一点。

    注:不清除浮动,容器是不能被撑开的,浮动元素脱离在外面,容器的背景,内外边距都无效。

  • 相关阅读:
    问题堆栈区39+40
    ListView优化分页优化
    AsyncTask理解- Day36or37
    Activity是如何挂载Pargment的Day35
    BroadcastReceiver和Intetnt的理解 Day34
    深入理解自定义ListView
    手势识别=读取手机联系人=ContentResolver-Day3
    Android本地JUnit Text
    Java——(一)一切都是对象
    SciTE: 中文字符支持问题
  • 原文地址:https://www.cnblogs.com/lionisnotkitty/p/5996512.html
Copyright © 2011-2022 走看看