zoukankan      html  css  js  c++  java
  • 彻底理解浮动float CSS浮动详解 清除浮动的方法

     我们把网页的常用的布局格式分为以下三种:

      1.标准流。

     所谓的标准流就是,行内元素自己单独一行,而块级元素是上下显示的。
    以前我们学习的都是标准流。
      注意:标准流使我们网页布局中最稳定的一种结构

     
        2. 浮动流

     使我们学习的脱离标准流的第一种方式。会影响我们标准流的排列。所以,我们布局的时候,能用标准流做的,就不用浮动做。
     

        3. 定位流

      定位流也是脱离标准流的一种模式。它完全脱离标准流,不会对标准流有影响。
     
     

    浮动(float)

    我们要浮动的目的: 我们浮动的目的,就是可以把多个块级元素放到想要的一行上。

    浮动 Float: left   right   none
     
    你不得不必须知道详细的理解浮动:

      1.  浮动已经脱离的标准流。 (脱标)

          也就是说,浮动已经漂浮在标准流的上方。

      2. 因为我们的浮动是左右浮动,所以我们的块级元素都是左右排列。


    清除浮动(clear)

    如果想要我们做的网页浏览器兼容性好,首先要保证的是,我们写的代码要足够标准。

    清除浮动的原因:  因为浮动会影响标准流。所以我要根据不同情况来清除浮动。

    Clear:both;

    1.1.1额外标签法

    W3c推荐,再最后一个浮动的盒子的后面,新添加一个标签。然后他可以清除浮动。
     
     

    优点:  通俗好理解
    缺点:  增加了太多的标签

    1.1.2Overflow 清除浮动

    使用方法:  是浮动的大盒子(父级标签)再样式里面加: overflow:hidden;为了照顾ie6,我们再加上 zoom:1;

    优点: 代码书写方便
    缺点: 如果这个父盒子,里面还有定位,就会引起麻烦。

    1.1.3 After伪类清除浮动

    1. 声明清除浮动:

    .clearfix:after{
    content:"";
    display:block;
    visibility:hidden;
    clear:both;
    height:0;
    }
    .clearfix{ /* 为了照顾ie6浏览器*/
    zoom:1;
    }
     

    1. 调用

    <div class="box clearfix">
     

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>overflow清除浮动</title>
    <style type="text/css">
    .clearfix:after{
    content:"";
    display:block;
    visibility:hidden;
    clear:both;
    height:0;
    }
    .clearfix{ /* 为了照顾ie6浏览器*/
    zoom:1;
    }
    .box{400px;}
    .one,.two{200px; height:100px; background-color:#093; float:left;}
    .two{background-color:#39F;}
    .test{400px; height:120px; background-color:#900;}
     
    </style>
    </head>
    <body>
    <div class="box clearfix">
    <div class="one"></div>
        <div class="two"></div>
    </div>
    <div class="test"></div>
    </body>
    </html>

     
       优点: 一次写完,后面直接调用就可以了
       缺点: 声明麻烦写   

    1.1.4After before伪类清除浮动

    1. 声明清除

    .clearfix:before,.clearfix:after{
    content:"";
    display:table;
    }
    .clearfix:after{
    clear:both;
    }
    .clearfix{ /*照顾ie6*/
    zoom:1;
    }
    使用:
    <div class="box clearfix">

      第四种,是大部分大型网站常用的,比如新浪 淘宝 的清除浮动的效果。

    以上希望对大家有所帮助。

     

  • 相关阅读:
    jquery的$.与$.fn的区别
    jquery加载页面的方法
    创业股权究竟如何分配--新浪创业训练营
    创业者要处理好的10大关系
    洪泰基金投资经理殷鹏:肯定不投的八类项目
    创业初期股权如何分配-------陈楠心血总结
    排序总结
    如何快速进入一门领域,学习新的知识
    虚拟机的设置
    华为大数据项目fusionInsight
  • 原文地址:https://www.cnblogs.com/xiaoqiang001/p/3908257.html
Copyright © 2011-2022 走看看