html清除浮动的6种⽅法⽰例
1.使块元素在⼀⾏显⽰
2.使内嵌⽀持宽⾼
3.换⾏被解析了
4.不设置的时候宽度由内容撑开
5.在IE6,7下步⽀持块标签
由于inline-block属性换⾏的时候被解析(有间隙)故解决⽅法使⽤浮动float:left/right
使⽤浮动时出现的情况:
1.使块元素在⼀⾏显⽰
2.使内嵌元素⽀持宽⾼
html span 居中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>
(这种情况当⽗级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>
复制代码代码如下:
<!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>
.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>
复制代码代码如下:
<!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>
: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>
复制代码代码如下:
<!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>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论