最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

清除浮动有哪些方法及优缺点

来源:懂视网 责编:小采 时间:2020-11-27 20:12:48
文档

清除浮动有哪些方法及优缺点

清除浮动有哪些方法及优缺点:为什么要清除浮动?下面的例子是浮动对元素的影响<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <style type="text/css">
推荐度:
导读清除浮动有哪些方法及优缺点:为什么要清除浮动?下面的例子是浮动对元素的影响<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <style type="text/css">

为什么要清除浮动?

下面的例子是浮动对元素的影响

<!DOCTYPE html><html lang="en"><head>
 <meta charset="UTF-8">
 <style type="text/css">
 .box1 { 
 width: 100px; 
 background: #999; 
 }
 .box2 { 
 width: 100px; 
 height: 40px; 
 }
 .box3 { 
 width: 100px; 
 height: 40px; 
 background-color: #333; 
 }
 </style></head><body>
 <p class="box1">
 <p class="box2"></p>
 </p>
 <p class="box3"></p></body></html>

box2加入float: left属性后的结果如下

如图所示,由于box1未设置高度,box3自动补位,如果这样的话,页面就会混乱。所以,我们需要清除这种浮动

以下是清除浮动的几种方法

(1)clear: both

通过给浮动元素下添加p标签并设置clear: both属性

<!DOCTYPE html><html lang="en"><head>
 <meta charset="UTF-8">
 <style type="text/css">
 .box1 { 
 width: 100px; 
 background: #999; 
 }
 .clear { 
 clear: both; 
 }
 .box2 { 
 width: 100px; 
 height: 40px; 
 float: left; 
 }
 .box3 { 
 width: 100px; 
 height: 40px; 
 background-color: #333; 
 }
 </style></head><body>
 <p class="box1">
 <p class="box2"></p>
 <p class="clear"></p>
 </p>
 <p class="box3"></p></body></html>

优点:简单、代码少、浏览器支持好
缺点:增加了无意义的标签

(2)overflow: hidden

通过给浮动元素的父元素添加overflow: hidden属性来清除浮动

<!DOCTYPE html><html lang="en"><head>
 <meta charset="UTF-8">
 <style type="text/css">
 .box1 { 
 width: 100px; 
 background: #999; 
 }
 .clear { 
 overflow: hidden; 
 zoom: 1; /*处理兼容性问题*/
 }
 .box2 { 
 width: 100px; 
 height: 40px; 
 float: left; 
 }
 .box3 { 
 width: 100px; 
 height: 40px; 
 background-color: #333; 
 }
 </style></head><body>
 <p class="box1 clear">
 <p class="box2"></p>
 </p>
 <p class="box3"></p></body></html>

优点: 简单、代码少、浏览器支持好
缺点:超出的内容会被隐藏

(3)加入after伪类

<!DOCTYPE html><html lang="en"><head>
 <meta charset="UTF-8">
 <style type="text/css">
 .box1 { 
 width: 100px; 
 background: #999; 
 }
 .clear:after { 
 clear: both; 
 content: ""; 
 display: block; 
 visibility: hidden; 
 }
 .box2 { 
 width: 100px; 
 height: 40px; 
 float: left; 
 }
 .box3 { 
 width: 100px; 
 height: 40px; 
 background-color: #333; 
 }
 </style></head><body>
 <p class="box1 clear">
 <p class="box2"></p>
 </p>
 <p class="box3"></p></body></html>

优点:浏览器支持好
缺点:代码多

第三种方法是现在许多浏览器所用的方法,所以清除浮动时最好用after伪类

文档

清除浮动有哪些方法及优缺点

清除浮动有哪些方法及优缺点:为什么要清除浮动?下面的例子是浮动对元素的影响<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <style type="text/css">
推荐度:
标签: 方法 清除 优缺点
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top