3-1 清除浮动
来源:3-1 首页.页面框架代码编写
慕仙8097514
2018-03-21 22:36:39
html部分
<!DOCTYPE html> <html> <head> <title>挂号平台</title> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="css/layout.css"> </head> <body> <div id="top" class="top"> <div class="wrap"></div> </div> <div id="header" class="header"> </div> <div id="nav" class="nav"> </div> <div id="banner" class="banner"> <div class="banner-slider"></div> <div class="banner-search"></div> <div class="banner-help"></div> </div> <div id="content" class="content"> <div class="wrap clearfix"> <div class="tab"></div> <div class="news"></div> <div class="close"></div> </div> </div> <div id="footer" class="footer"> </div> </body> </html>
css部分
body{ margin: 0; padding: 0 } .wrap{ width: 1000px; margin: 0 auto; position: relative; } .top{ height: 30px; background-color: #f5f5f5; } .header{ height: 92px; } .nav{ height: 36px; background-color: #60bff2; } .banner{ width: 802px; margin: 0 auto; height: 414px; padding: 9px 0 0 198px; } .banner-slider{ background-color: #8edff3; width: 544px; height: 414px; float: left; } .banner-search{ width: 250px; height: 255px; background-color: #eee; float: right; } .banner-help{ width: 250px; height: 146px; float: right; background-color: #ccc; margin-top: 12px; } .content{ } .tab{ width: 742px; height: 490px; float: left; background-color: #eee; } .news, .close{ width: 248px; height: 236px; float: right; border: 1px solid #ccc; } .close{ margin-top: 12px; border-color: #f00; } .clearfix:after{ /*content: ' '; display: block; height: 0; line-height: 0;*/ clear: both; zoom: 1; } .footer{ height: 70px; padding: 25px 0; background-color: #eceef2; }
老师,视频里老师说清除浮动的时候,只写clear:both就可以达到效果,但是我试了一下不行啊
还有这个clearfix写样式的时候,后面为什么要加:after啊
还有,我用之前css课程里讲的给父元素添加overflow属性结合zoom:1 也没有效果
.clearfix:after{ /*content: ' '; display: block; height: 0; line-height: 0; clear: both; zoom: 1;*/ overflow: hidden; zoom:1;
4回答
qq__9987
2018-03-28
增加zoom:1是为了兼容低版本的IE,低版本的IE不支持。
qq__9987
2018-03-28
使用after的效果就跟在子元素中添加一个空的div,然后给这个div设置clear:both的效果是一样的。
qq__9987
2018-03-28
老师的意思是说,只写 .clearfix:after{ content:""; display:block; clear:both;}这样就可以了。你把前面的都删除掉肯定不可以啦。
小丸子爱吃菜
2018-03-22
你的代码以及演示效果比较乱,你说清除浮动没有效果,是哪个部分没有效果?banner区域还是content区域?这个代码要实现的是什么效果?如果是banner区域的的浮动影响后面的话,banner区域本身就设置有高度,不会影响后面的元素。请将问题描述清除。
你上面所说的那个清除浮动的方法,可以看下下面的描述。
使用伪元素来清除浮动(after意思:后来,以后)
.clearfix:after{
content:"";//设置内容为空
height:0;//高度为0
line-height:0;//行高为0
display:block;//将文本转为块级元素
visibility:hidden;//将元素隐藏
clear:both//清除浮动
}
.clearfix{
zoom:1;为了兼容IE
}
祝学习愉快!
相似问题