loat有四个属性,分别是:

float:none;  没有浮动;

float:left;  左浮动;

float:right; 右浮动;

float:inherit;继承父元素的浮动;

------------------------

使用浮动:会脱离文档流,出现高度塌陷,浮动溢出的情况。

=====================================================

<style>
        .container{  //父元素宽高自适应
            border: 5px solid black;
        }
       .div1,.div3,.div2{
        width: 100px;
        height:100px;
       }
       .div1{
            background: red;
            float: left;
       }
       .div2{
            background: green;
            float: left;
       }
       .div3{
            background: pink;
            float: left;
       }
    </style>

<div class="container">
        <div class="div1">1111111</div>
        <div class="div2">222222222</div>
        <div class="div3">33333333333</div>
    </div>

========================================

使用浮动:会脱离文档流,出现高度塌陷,浮动溢出的情况。

如果在div3下面再添加一个div4,并且不设置float属性,

那么div4会填充前面3个div的位置。所以使用浮动后,这里我们都要使用清除浮动来处理浮动溢出的问题。

使用浮动的时候,子元素的浮动会导致父元素发生塌陷,因为子元素进行了浮动,脱离了标准流,使得父元素无法检测到子元素,导致父元素塌陷、没有高度;同理,因为浮动元素脱离了标准流,使得临近元素无法感知到浮动元素,使得普通元素占据浮动元素的位置,发生异位

inherit:继承。

none:不清除浮动,比较少用。

left:如果设置该值(正常上面都是已经设置了float:left),则让该元素向左浮动,即相对后面元素会跟这个这么元素的屁股后面按照正常文档流排列。

right:如果设置该值(正常上面都是已经设置了float:right),则让该元素向右浮动,即相对后面元素会跟这个这么元素的屁股后面按照正常文档流排列。

both:如果设置该值(正常上面都是已经设置了向左或向右浮动),则让该元素相应浮动,即相对前后面元素会跟这个这么元素的屁股后面按照正常文档流排列。

===============清除浮动的方法如下==================

<style type="text/css">

  .clearBoth{ clear:both; }

</style>

<div class="container">
        <div class="div1">1111111</div>
        <div class="div2">222222222</div>
        <div class="div3">33333333333</div>
        <div class="clearBoth"></div>   //一定要放在浮动的后面一个元素,放在父元素后面都没用。一定要紧跟最后一个浮动元素。
    </div>

<style type="text/css">

  .container{ overflow:hidden }

</style>

给浮动元素的父元素添加 overflow:hidden。overflow:hidden;除了清除浮动外,还可以使溢出的内容隐藏。

方法三如下代码:

---------------------

方法一

在浮动元素后面添加一个空的<div class="clearBoth"></div>

  .clearBoth{ clear:both; }

方法二

在浮动元素的父元素添加一个class="container"。

.container

{

  overflow:hidden;

  zoom:1;  ///兼容低版本IE6,7

}

在父元素添加这个类,即可实现浮动。

.clearfix:after{
            content: ".";
            height: 0;
            display: block;
            visibility: hidden;
            clear: both;
        }
        .clearfix{   ///是为了兼容I6,7 浏览器
            zoom:1;
        }

方法四:

只适合在子元素固定高度时才可以使用:即在父元素中定义它的高度。height=子元素最大的高度。

如上面例子,3个div的高度都是100px,那么我们就可以在父元素中直接定义 height:100px;即达到了清除浮动的效果。

方法五:

把浮动元素的父元素也添加浮动,然后在通过方法一,方法二进行清除浮动,不推荐,只做了解。

-------------------------------

简单的盒子使用 overflow:hidden;  zoom="1";

复杂的盒子使用css中的  .clearfix:after{} 来清除浮动。

float浮动的世界的更多相关文章

  1. 20190402-display展现、float浮动

    目录 1.display展现 dispaly:"none | block | inline | inline-block | list-item | run-in(主流浏览器不支持) | t ...

  2. 给li设置float浮动属性之后,无法撑开外层ul的问题。

    最近在项目中有好几次遇到这个问题,感觉是浮动引起的,虽然用<div style="clear:both"></div>解决了,但自己不是特别明白,又在网上查 ...

  3. 给li设置float浮动属性之后,无法撑开外层ul的问题。(原址:http://www.cnblogs.com/cielzhao/p/5781462.html)

    最近在项目中有好几次遇到这个问题,感觉是浮动引起的,虽然用<div style="clear:both"></div>解决了,但自己不是特别明白,又在网上查 ...

  4. float浮动问题:会造成父级元素高度坍塌;

    float浮动问题:会造成父级元素高度坍塌: 解决办法:清除浮动:clear:both; 给父元素高度:height(不是很可取) 给父元素:display:inline-black:(问题:marg ...

  5. 解决float浮动带来的父元素高度没有的问题---清除浮动

    float的特性 : 1:使元素block块级化: 2:破坏性造成的紧密排列特性. 基于以上的特性,使得我们通常把浮动用来布局,带来的问题是,容易出问题,重用性不行,ie6-的版本下很多问题,因为它是 ...

  6. float浮动深入理解

    [CSS深入理解之float浮动]听课总结 (http://www.imooc.com/learn/121)   1.float的原本作用:为了实现文字环绕 2.float的包裹性和破坏性: 包裹性: ...

  7. 【转】CSS清除浮动_清除float浮动

    CSS清除浮动方法集合 一.浮动产生原因 一般浮动是什么情况呢?一般是一个盒子里使用了CSS float浮动属性,导致父级对象盒子不能被撑开,这样CSS float浮动就产生了. 浮动产生样式效果截图 ...

  8. 对css float 浮动的学习心得

    css float浮动详解 @(css float)[hasLayout|clear float|妙瞳] css float的定义和用法 float 属性定义元素在哪个方向浮动.以往这个属性总应用于图 ...

  9. float浮动之后高度自适应失效解决方案

    float浮动之后高度自适应失效解决方案 >>>>>>>>>>>>>>>>>>>> ...

随机推荐

  1. 基于TensorFlow的深度学习系列教程 1——Hello World!

    最近看到一份不错的深度学习资源--Stanford中的CS20SI:<TensorFlow for Deep Learning Research>,正好跟着学习一下TensorFlow的基 ...

  2. 如何利用sqoop将hive数据导入导出数据到mysql

    运行环境  centos 5.6   hadoop  hive sqoop是让hadoop技术支持的clouder公司开发的一个在关系数据库和hdfs,hive之间数据导入导出的一个工具. 上海尚学堂 ...

  3. FFmpeg 学习(三):将 FFmpeg 移植到 Android平台

    首先需要去FFmpeg的官网http://www.ffmpeg.org/去下载FFmpeg的源码,目前的版本号为FFmpeg3.3(Hilbert). 下载的文件为压缩包,解压后得到ffmpeg-3. ...

  4. JSON Web Token(JWT)原理和用法介绍

    JSON Web Token(JWT)是目前最流行的跨域身份验证解决方案.今天给大家介绍一下JWT的原理和用法. 官网地址:https://jwt.io/ 一.跨域身份验证 Internet服务无法与 ...

  5. Javascript高级编程学习笔记(79)—— 表单(7)选择框脚本

    选择框脚本 选择框由<option>和<select>元素创建,为了方便选择框的交互,除了提供表单字段的公有方法之外 HTMLSelectElement 类型还提供下列特有的属 ...

  6. 一、activiti工作流(workflow)入门介绍

    activiti官方网站(官网通常很卡,不建议看,直接看我教程就行) http://www.activiti.org/ eclipse离线安装activiti插件并下载教程 https://downl ...

  7. Scala - 快速学习06 - 面向对象

    1- 类 1.1- 简介:类.方法及对象 类是用来创建对象的蓝图. Scala文件中包含的多个类之间,都是彼此可见的,不需要声明为public. 创建对象 定义好类以后,就可以使用new关键字来创建对 ...

  8. Emmet/Zen Coding 快速入门说明

    快速参考 以下是支持的特性: ele creates an HTML element tag 展开一个HTML元素标签 # creates an id attribute 作用于元素标签,展开一个id ...

  9. LVS DR模式配置

    关于LVS的相关介绍,以下两篇文章均做了具体的介绍: http://www.linuxvirtualserver.org/zh/lvs1.html http://www.cnblogs.com/liw ...

  10. centos7系统配置记录SFTP操作日志

    1.修改ssh配置 [root@elk-node2 ~]# vim /etc/ssh/sshd_config 大概132行把下面这个句注释掉 #Subsystem       sftp    /usr ...