html清除浮动的6种方法示例

使用display:inline-block会出现的情况:

1.使块元素在一行显示
2.使内嵌支持宽高
3.换行被解析了
4.不设置的时候宽度由内容撑开
5.在IE6,7下步支持块标签

由于inline-block属性换行的时候被解析(有间隙)故解决方法使用浮动float:left/right

使用浮动时出现的情况:

1.使块元素在一行显示
2.使内嵌元素支持宽高
3.不设置不宽高的时候宽度由内容撑开
4.换行不被解析(故使用行内元素的时候清除间隙的方法可以使用浮动)
5.元素添加浮动,会脱离文档流,按照指定的一个方向移动,直到碰到父级的边界或者另一个浮动元素停止(文档流是文档中可显示对象在排列时所占用的位置)

<!DOCTYPE HTML>
<html>
<head>
<meta 
http-equiv="Content-Type" content="text/html; 
charset=utf-8">
<title>无标题文档</title>
<style>
div,span{height:100px;background:red;border:1px 
solid #000; 
float:left;}
/*
inline-block
1.使块元素在一行显示
2.使内嵌支持宽高
3.换行被解析了
4.不设置宽度的时候宽度由内容撑开
5.在IE6,7下不支持块标签
浮动:
1.使块元素在一行显示
2.使内嵌支持宽高
3.不设置宽度的时候宽度由内容撑开
*/
</style>
</head>
<body>
<div 
class="div1">div1</div>
<div 
class="div2">div2</div>
<span 
class="span1">span1</span>
<span 
class="span2">span2</span>
</body>
</html>

下面的代码只有box1浮动,则box1,box2重叠一起。两者都浮动就不会重叠

<!DOCTYPE HTML>
<html>
<head>
<meta 
http-equiv="Content-Type" content="text/html; 
charset=utf-8">
<title>无标题文档</title>
<style>
.box1{ 
width:100px;height:100px;background:red; float:left;}
.box2{ 
width:200px;height:200px;background:blue; /* 
float:left;*/}
</style>
</head>
<body>
<div 
class="box1"></div>
<div 
class="box2"></div>
</body>
</html>

清浮动的方法:

1.给父级也加浮动(这种情况当父级margin:0 auto;时不居中)

<!DOCTYPE HTML>
<html>
<head>
<meta 
http-equiv="Content-Type" content="text/html; 
charset=utf-8">
<title>无标题文档</title>
<style>
.box{ 
width:300px;margin:0 auto;border:10px solid #000; float:left;}
.div{ 
width:200px;height:200px;background:red;float:left;}
/*
 清浮动
 1.给父级也加浮动(不居中了)
*/
</style>
</head>
<body>
<div 
class="box">
 <div 
class="div"></div>
</div>
</body>
</html>

2.给父级加display:inline-block;(同方法1,不居中。只有IE6,7居中)

<!DOCTYPE HTML>
<html>
<head>
<meta 
http-equiv="Content-Type" content="text/html; 
charset=utf-8">
<title>无标题文档</title>
<style>
.box{ 
width:300px;margin:0 auto;border:10px solid #000; 
display:inline-block;}
.div{ 
width:200px;height:200px;background:red;float:left;}
/*
 清浮动
 1.给父级也加浮动
 2.给父级加display:inline-block
*/
</style>
</head>
<body>
<div 
class="box">
 <div 
class="div"></div>
</div>
</body>
</html>

3.在浮动元素下加<div class="clear"></div>
 .clear{height:0px;font-size:0;clear:both;}但是在ie6下,块元素有最小高度,即当height<19px时,默认为19px,解决方法:font-size:0;或overflow:hidden;

<!DOCTYPE HTML>
<html>
<head>
<meta 
http-equiv="Content-Type" content="text/html; 
charset=utf-8">
<title>无标题文档</title>
<style>
.box{ 
width:300px;margin:0 auto;border:10px solid #000;}
.div{ 
width:200px;height:200px;background:red;float:left;}
.clear{ 
height:0px;font-size:0;clear:both;}
/*
 清浮动
 1.给父级也加浮动
 2.给父级加display:inline-block
 3.在浮动元素下加<div 
class="clear"></div>
 .clear{ 
height:0px;font-size:0;clear:both;}
*/
</style>
</head>
<body>
<div 
class="box">
 <div class="div"></div>
 <div 
class="clear"></div>
</div>
</body>
</html>

4.在浮动元素下加<br clear="all">

<!DOCTYPE HTML>
<html>
<head>
<meta 
http-equiv="Content-Type" content="text/html; 
charset=utf-8">
<title>无标题文档</title>
<style>
.box{ 
width:300px;margin:0 auto;border:10px solid #000;}
.div{ 
width:200px;height:200px;background:red;float:left;}
/*
 清浮动
 1.给父级也加浮动
 2.给父级加display:inline-block
 3.在浮动元素下加<div 
class="clear"></div>
 .clear{ 
height:0px;font-size:0;clear:both;}
 4.在浮动元素下加<br 
clear="all"/>
*/
</style>
</head>
<body>
<div 
class="box">
 <div class="div"></div>
 <br 
clear="all"/>
</div>
</body>
</html>

5.给浮动元素父级加{zoom:1;}
:after{content:"";display:block;clear:both;}

<!DOCTYPE HTML>
<html>
<head>
<meta 
http-equiv="Content-Type" content="text/html; 
charset=utf-8">
<title>无标题文档</title>
<style>
.box{margin:0 
auto;border:10px solid #000;}
.div{ 
width:200px;height:200px;background:red;float:left;}
.clear{zoom:1;}
.clear:after{content:""; 
display:block;clear:both;}
/*
 清浮动
 1.给父级也加浮动
 2.给父级加display:inline-block
 3.在浮动元素下加<div 
class="clear"></div>
 .clear{ 
height:0px;font-size:0;clear:both;}
 4.在浮动元素下加<br 
clear="all"/>
 5. 给浮动元素的父级加{zoom:1;}
 :after{content:""; 
display:block;clear:both;}
 **在IE6,7下浮动元素的父级有宽度就不用清浮动
 haslayout 根据元素内容的大小 或者父级的父级的大小来重新的计算元素的宽高
 display: inline-block
 height: (任何值除了auto)
 float: (left 或 right)
 width: (任何值除了auto)
 zoom: (除 normal 外任意值) 
*/
</style>
</head>
<body>
<div class="box 
clear">
 <div 
class="div"></div>
</div>
</body>
</html>

6.给浮动元素父级加overflow:auto;

<!DOCTYPE HTML>
<html>
<head>
<meta 
http-equiv="Content-Type" content="text/html; 
charset=utf-8">
<title>无标题文档</title>
<style>
.box{ 
width:300px;border:1px solid #000;overflow:auto;}
.div1{ 
width:260px;height:400px;background:Red;float:left;}
</style>
</head>
<body>
<div 
class="box">
 <div 
class="div1"></div>
</div>
</body>
</html>

来自:http://www.jb51.net/article/43261.htm

时间: 2024-12-23 18:58:56

html清除浮动的6种方法示例的相关文章

css清除浮动的几种方法整理

此为未清除浮动源代码,运行代码无法查看到父级元素浅黄色背景. <style type="text/css"> <!– *{margin:0;padding:0;} body{font:36px bold; color:#F00; text-align:center;} #layout{background:#FF9;} #left{float:left;width:20%;height:200px;background:#DDD;line-height:200px;}

CSS 清除浮动的四种方法

在实际项目中,我们经常会用到float属性来对页面进行布局.当使用float时,意味着该元素已经脱离了文档流,相当于浮于文档之上,不占据空间.但是针对兄弟元素为文字内容时,会占据一定空间,从而产生文字环绕的效果.如果不清除浮动,会导致父元素的高度撑不开等一系列问题. 那如何清除浮动呢?给出以下几种方法,一些不常用的就不说明了. 1.对浮动元素的父容器添加after伪类,并给伪类设置clear属性(给浮动元素的周围元素添加clear属性,清除该浮动元素)在浮动元素的后面增加一个块元素,对块元素设置

css清除浮动的几种方法以及对应规范说明

css清除浮动的几种方法以及对应规范说明 1.{clear:both;}设置了clear 属性的元素,其上边框位置会紧贴浮动元素的 margin-bottom 边界位置渲染,使包含浮动元素的容器高度正常.所以适用于浮动元素后面容器之内有个非浮动元素,或是额外添加一个新的空元素. 2..after- clear-float :after{content:""; display:block; clear:both;}利用伪类添加新元素,原理同上,所以只适用于父容器最后一级子元素是浮动的,即

【转】浅谈 CSS 清除浮动的 6 种方法

转载:浅谈 CSS 清除浮动的 6 种方法 在开发网页的时候经常需要用到各种浮动,此时便需要及时的清除浮动,否则将会导致布局出现问题 引出问题: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style> .outer{ border: 1px solid black;

[Web 前端] 018 css 清除浮动的四种方法

清除浮动的四种方法 加 clear: ...(见例1) 父级上增加属性 overflow:hidden(见例2.1) 在最后一个子元素的后面加一个空的 div,给它一个样式属性 clear: both(不推荐)(见例2.2) 使用成熟的清浮动样式类 clearfix(见例3) 少废话,上例子 例 1 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>test

关于CSS清除浮动的几种方法

如果一个父元素的所有子元素都设置了float效果,则该父元素的高度不会被撑开且颜色也不会显示.这是因为子元素设置float效果后脱离了标准的文档流, 不占据文档空间所以不能把父元素撑开.有时为了解决这个问题可以使用下面几种方法来清除浮动效果. 方法一:使用空标签 该方法就是在子元素后再添加一个空标签,空标签可以是<div>也可以是<p>等,但是要设置样式clear : both ;这样就可以达到清除浮动的效果. 方法二:给父元素设置overflow: auto; 该方法是给父元素设

CSS 清除浮动的4种方法

此为未清除浮动源代码,运行代码无法查看到父级元素浅黄色背景.<style type=”text/css”> <!– *{margin:0;padding:0;} body{font:36px bold; color:#F00; text-align:center;} #layout{background:#FF9;} #left{float:left;width:20%;height:200px;background:#DDD;line-height:200px;} #right{flo

CSS清除浮动的三种方法,很实用

CSS清除浮动的方法有哪些呢?经常性地会使用到float,很多邪门的事儿都有可能是浮动在作怪,清除浮动是必须要做的,而且随时性地对父级元素清除浮动的做法也被认为是书写CSS的良好习惯之一. 下面看今天的教程,此为未清除浮动源代码,运行代码无法查看到父级元素浅黄色背景. <style type=”text/css”> <!–     *{margin:0;padding:0;}     body{font:36px bold; color:#F00; text-align:center;}

CSS清除浮动的三种方法,很实用。

CSS清除浮动的方法有哪些呢?经常性地会使用到float,很多邪门的事儿都有可能是浮动在作怪,清除浮动是必须要做的,而且随时性地对父级元素清除浮动的做法也被认为是书写CSS的良好习惯之一.下面看今天的教程,此为未清除浮动源代码,运行代码无法查看到父级元素浅黄色背景. <style type=”text/css”><!–    *{margin:0;padding:0;}    body{font:36px bold; color:#F00; text-align:center;}