关灯
开启左侧

[网页制作] html清除浮动的几种方法示例

[复制链接]
swmozowtfl 发表于 2015-7-14 22:17:16 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
使用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>

更多网页制作信息请查看: 网页制作
 

精彩评论9

正序浏览
buingeEvineus 发表于 2016-4-2 13:19:56 | 显示全部楼层
 
看完楼主的帖子,我的心情竟是久久不能平静
 
effoggikeftor 发表于 2016-4-2 13:20:13 | 显示全部楼层
 
求您了,给个机会
 
wwzcdenleclv 发表于 2016-4-2 13:20:20 | 显示全部楼层
 
风沙就是由无数松散沙粒组成的,但是他们却又紧密的联系在一起,那股叱诧风云,横击 而过的气概相信大家在作者的文章里也能体会的出来。如果有读者还不能体会的,请参考
 
alapScady 发表于 2016-4-2 13:21:00 | 显示全部楼层
 
哈哈 ok ~~~
 
seazvyt 发表于 2016-4-3 10:38:35 | 显示全部楼层
 
老天不公啊.....
 
effoggikeftor 发表于 2016-4-3 10:38:37 | 显示全部楼层
 
哥们,给我做个链接吧
 
gevaemaidovef 发表于 2016-4-3 10:39:15 | 显示全部楼层
 
做为新人!在这里不敢大声说话!送完经验我就走!
 
gevaemaidovef 发表于 2016-4-3 10:39:47 | 显示全部楼层
 
哈哈 ok ~~~
 
gevaemaidovef 发表于 2016-4-3 10:40:05 | 显示全部楼层
 
这个站一周前刚刚有了点起色
 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


0关注

1粉丝

2503帖子

热门图文
热门帖子
排行榜
作者专栏

关注我们:微信订阅号

官方微信

APP下载

全国服务Q Q:

956130084

中国·湖北

Email:956130084@qq.com

Copyright   ©2015-2022  站长技术交流论坛|互联网技术交流平台Powered by©Discuz!技术支持:得知网络  

鄂公网安备 42018502006730号

  ( 鄂ICP备15006301号-5 )