float浮动的世界





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浮动的世界的更多相关文章
- 20190402-display展现、float浮动
目录 1.display展现 dispaly:"none | block | inline | inline-block | list-item | run-in(主流浏览器不支持) | t ...
- 给li设置float浮动属性之后,无法撑开外层ul的问题。
最近在项目中有好几次遇到这个问题,感觉是浮动引起的,虽然用<div style="clear:both"></div>解决了,但自己不是特别明白,又在网上查 ...
- 给li设置float浮动属性之后,无法撑开外层ul的问题。(原址:http://www.cnblogs.com/cielzhao/p/5781462.html)
最近在项目中有好几次遇到这个问题,感觉是浮动引起的,虽然用<div style="clear:both"></div>解决了,但自己不是特别明白,又在网上查 ...
- float浮动问题:会造成父级元素高度坍塌;
float浮动问题:会造成父级元素高度坍塌: 解决办法:清除浮动:clear:both; 给父元素高度:height(不是很可取) 给父元素:display:inline-black:(问题:marg ...
- 解决float浮动带来的父元素高度没有的问题---清除浮动
float的特性 : 1:使元素block块级化: 2:破坏性造成的紧密排列特性. 基于以上的特性,使得我们通常把浮动用来布局,带来的问题是,容易出问题,重用性不行,ie6-的版本下很多问题,因为它是 ...
- float浮动深入理解
[CSS深入理解之float浮动]听课总结 (http://www.imooc.com/learn/121) 1.float的原本作用:为了实现文字环绕 2.float的包裹性和破坏性: 包裹性: ...
- 【转】CSS清除浮动_清除float浮动
CSS清除浮动方法集合 一.浮动产生原因 一般浮动是什么情况呢?一般是一个盒子里使用了CSS float浮动属性,导致父级对象盒子不能被撑开,这样CSS float浮动就产生了. 浮动产生样式效果截图 ...
- 对css float 浮动的学习心得
css float浮动详解 @(css float)[hasLayout|clear float|妙瞳] css float的定义和用法 float 属性定义元素在哪个方向浮动.以往这个属性总应用于图 ...
- float浮动之后高度自适应失效解决方案
float浮动之后高度自适应失效解决方案 >>>>>>>>>>>>>>>>>>>> ...
随机推荐
- CentOS 7 - 更新JDK,删除旧JDK,安装新JDK
一,检查是否安装JDK. yum list installed | grep java 二,删除旧JDK. yum -y remove java-1.7.0-openjdk* yum -y remov ...
- 快速入门node.js
运行node node ./1.js let不存在变量提升 /* const fs = require('fs') const path = require('path') fs.readFile(p ...
- Python爬虫3-parse编码与利用parse模拟post请求
GitHub代码练习地址:①利用parse模拟post请求:https://github.com/Neo-ML/PythonPractice/blob/master/SpiderPrac04_pars ...
- 字体图标-把SVG图标转换成所需要的字体图标
小科普: 想必小伙伴们多少都了解或使用过字体图标,总体来说优点多于缺点,优点如下图: 任意缩放,图标不会失真: 可以改变图标颜色: 可以设置图标阴影: 可以设置透明效果: 主流浏览器都支持: 可以快速 ...
- 机器学习入门14 - 神经网络简介 (Introduction to Neural Networks)
原文链接:https://developers.google.com/machine-learning/crash-course/introduction-to-neural-networks/ 神经 ...
- golang IO streaming
IO Streaming Streaming IO in Go,引用此文,略有修改 io.Reader和io.Writer io.Reader接口定义了从传输缓存读取数据 type Reader in ...
- Spring lazy-init 原理分析
普通的bean的初始化是在容器启动初始化阶段执行的,而被lazy-init修饰的bean 则是在从容器里第一次进行context.getBean(“”)时进行触发.Spring 启动的时候会把所有be ...
- 在SpringBoot中添加Redis
前言 在实际的开发中,会有这样的场景.有一个微服务需要提供一个查询的服务,但是需要查询的数据库表的数据量十分庞大,查询所需要的时间很长. 此时就可以考虑在项目中加入缓存. 引入依赖 在maven项目中 ...
- MFC 控件编程之水平滚动条跟垂直滚动条
MFC 控件编程之水平滚动条跟垂直滚动条 一点水平滚动条的操作 首先在操作滚动条的时候.我们要知道滚动条的一些属性. 比如我们要设置 最大值 最小值. 以及每次递增的值是多少.都要设置. 所有就有一个 ...
- Java 并发编程-NIO 简明教程
问题来源 在传统的架构中,对于客户端的每一次请求,服务器都会创建一个新的线程或者利用线程池复用去处理用户的一个请求,然后返回给用户结果,这样做在高并发的情况下会存在非常严重的性能问题:对于用户的每一次 ...