第五篇:web之前端之float的几种清除浮动方式
前端之float的几种清除浮动方式
前端之float的几种清除浮动方式
本节内容
- 1.float清除方式1
- 2.float清除方式2
- 3.float清除方式3
- 4.float清除方式4
1.float清除方式1
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | <!DOCTYPEhtml><htmllang="en"><head>    <metacharset="UTF-8">    <title>Title</title>    <style>        .content{            background: red;        }        .left{            float: left;            height: 200px;            width: 200px;            background: black;            border: 1px solid red;        }    </style></head><body>    <divclass="content">        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>    </div>    <divstyle="clear: both">asdf</div></body></html> | 
在父div的下面div中设置clear:both方式,content的div没有被撑起来,高度还是0,但是下面的asdf排在了最下面,缺点是外部的div高度为0,则外部div的颜色属性无法展示出来。
2.float清除方式2
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | <!DOCTYPEhtml><htmllang="en"><head>    <metacharset="UTF-8">    <title>Title</title>    <style>        .content{            background: red;        }        .left{            float: left;            height: 200px;            width: 200px;            background: black;            border: 1px solid red;        }    </style></head><body>    <divclass="content">        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divstyle="clear: both"></div>    </div>    <div>asdf</div></body></html> | 
在所有浮动标签的最后一个标签后面加上一个空标签,里面的style设置为clear:both,这样就把父div撑起来了。但是如果想在父div中添加新的浮动标签将可能出现问题,因为append新元素进去之后,空标签可能就不在最后一个位置了。
3.float清除方式3
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | <!DOCTYPEhtml><htmllang="en"><head>    <metacharset="UTF-8">    <title>Title</title>    <style>        .content{            background: red;        }        .left{            float: left;            height: 200px;            width: 200px;            background: black;            border: 1px solid red;        }    </style></head><body>    <divclass="content" style="overflow: hidden">        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>    </div>    <div>asdf</div></body></html> | 
在父标签中设置style为overflow: hidden也能将父标签撑起来,hidden的含义是超出的部分要裁切隐藏,float的元素虽然不在普通流中,但是他是浮动在普通流之上的,可以把普通流元素+浮动元素想象成一个立方体。如果没有明确设定包含容器高度的情况下,它要计算内容的全部高度才能确定在什么位置hidden,这样浮动元素的高度就要被计算进去。这样包含容器就会被撑开,清除浮动。
4.float清除方式4
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | <!DOCTYPEhtml><htmllang="en"><head>    <metacharset="UTF-8">    <title>Title</title>    <style>        .content{            background: red;        }        .left{            float: left;            height: 200px;            width: 200px;            background: black;            border: 1px solid red;        }        .clearfix:after{            content: ".";  /*设置内容,必须有内容,没有,则无法实现效果*/            visibility: hidden;  /*将标签隐藏*/            height:0;  /*设置标签的高度为0*/            display: block;  /*设置标签为块级标签*/            clear: both;  /*设置清除float浮动*/        }    </style></head><body>    <divclass="content clearfix">        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>        <divclass="left"></div>    </div>    <div>asdf</div></body></html> | 
第四种方式是在父标签上面建一个伪类,设置如上面那样,这样将能够撑起父div标签,并且动态在里面添加float标签将不会影响父标签的撑开。
推荐使用这种方式
第五篇:web之前端之float的几种清除浮动方式的更多相关文章
- 前端之float的几种清除浮动方式
		前端之float的几种清除浮动方式 本节内容 1.float清除方式1 2.float清除方式2 3.float清除方式3 4.float清除方式4 1.float清除方式1 <!DOCTYPE ... 
- HTML连载50-伪元素选择器、清除浮动方式五
		一.伪元素选择器 1.什么是伪元素选择器 伪元素选择器作用给指定标签的内容前面添加一个子元素,或者给指定标签的内容后面添加一个子元素. 2.格式: 标签名称::before{ 属性名称:值: } 给指 ... 
- 【Python之路】第十五篇--Web框架
		Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. #!/usr/bin/env python #coding:utf- ... 
- css 关于浮动float的使用以及清除浮动
		float:none | left | right 默认值:none 适用于:所有元素 none:设置对象不浮动left:设置对象浮在左边right:设置对象浮在右边 当该属性不等于none引起对象浮 ... 
- CSS3中三种清除浮动(float)影响的方式
		float是HTML中布局的一大关键,很多难题一旦用上float都能很愉快地解决.但是凡是好用的,也容易出错.比如当子元素都为float时,其父元素会受影响,或者偶尔会发现自己某个div的高度变成了0 ... 
- CSS3中三种清除浮动(float)的方法
		方法一:添加新的元素 .应用 clear:both .clear{ clear:both; height:; height:; overflow:hidden; } 方法二:父级div定义 overf ... 
- CSS3中为什么要清除浮动以及三种清除浮动(float)的方法
		方法一:添加新的元素 .应用 clear:both .clear{ clear:both; height: 0; height: 0; overflow:hidden; } 方法二:父级div定义 o ... 
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:清除浮动
		<!DOCTYPE html> <html> <head> <title>Bootstrap .clearfix 实例</title> &l ... 
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:清除浮动1
		<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ... 
随机推荐
- [转贴]C编译过程概述
			http://my.oschina.net/apeng/blog/105245 C 编译过程概述 目前Linux下最常用的C语言编译器是GCC(GNU Compiler Collection),它是G ... 
- USACO3.42American Heritage(二叉树)
			已知中前 求后序 递归一下 有一些小细节 /* ID: shangca2 LANG: C++ TASK: heritage */ #include <iostream> #include& ... 
- 【转】Xcode7.1环境下上架iOS App到AppStore 流程 (Part 三)
			原文网址:http://www.cnblogs.com/ChinaKingKong/p/4964745.html 前言部分 part三 部分主要讲解 Xcode关联绑定发布证书的配置.创建App信息. ... 
- 【转】 Android快速开发系列 10个常用工具类 -- 不错
			原文网址:http://blog.csdn.net/lmj623565791/article/details/38965311 转载请标明出处:http://blog.csdn.net/lmj6235 ... 
- (转载)1248 - Every derived table must have its own alias
			(转载)http://hi.baidu.com/lylegend13/item/a79f17eb51f5dff7e0a5d43b 1. select count(distinct CName) fro ... 
- (转载)php循环检测目录是否存在并创建(循环创建目录)
			(转载)http://www.jb51.net/article/25917.htm php循环检测目录是否存在并创建,需要的朋友可以参考下. 循环创建目录方法 这个会生成image.gif目录 代码如 ... 
- MySqlCommand, MySqlParameter and "LIKE" with Percent Symbol
			//Wrong way MySqlCommand cmd = oldDb.GetSqlStringCommand(CommandType.Text,"SELECT * _ FROM user ... 
- linux 下的sublime
			Sublime Text 2 的安装 : 在官方网站下载Linux版本 Or 执行 # wget http://c758482.r82.cf2.rackcdn.com/Sublime%20Tex ... 
- Keepass 2.x 之 同步与触发器
			同步 之前用的 Keepass 1.x, 要实现工作电脑和个人电脑上的数据库文件同步,使用的是第三方的网盘同步.但有个问题就是,个人不习惯设置同步网盘开机启动,所以有时候工作电脑上的改动还没有同步上传 ... 
- Qualcomm Android display架构分析
			Android display架构分析(一) http://blog.csdn.net/BonderWu/archive/2010/08/12/5805961.aspx http://hi.baidu ... 
