为了账号安全,请及时绑定邮箱和手机立即绑定

不对父元素mainbody清除浮动,而是对footer用clear:both清除浮动

不对父元素mainbody清除浮动,而是对footer用clear:both清除浮动,为什么mainbody颜色变了,这颜色怎么来的?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>无标题文档</title>

<style type="text/css">

* {

    margin:0;

padding:0;

}

#wrap {

background:#00C;

margin:0 auto;

width:960px;

}

#header {

background:#FF3300;

width:100%;

}

#mainbody {

   background:#FC0;

}

.left {

width:800px;

height:200px;

background:#000;

float:left;

}

.right {

width:140px;

height:500px;

background:#690;

float:right;

}

#footer {

background:#639;

width:100%;

    clear:both;

}

</style>

</head>


<body>

<div id="wrap">

  <div id="header">头部</div>

  <div id="mainbody">

    <div class="left"></div>

    <div class="right"></div>

  </div>

  <div id="footer">版权部分</div>

</div>

</body>

</html>


正在回答

2 回答

首先 clean:both 这个适用于对于后模块有影响的本模块里,mainbody里面有两个模块,第二个模块对footer有了影响,所以加clean:both 按理应该在mainbody的第二个模块里。  将clean加在footer里,改变了整个板块布局 ,颜色也就变成总的也就是wrap 里设置的颜色了。而mainbody的颜色被藏在了它的两个模块的背后~ 

1 回复 有任何疑惑可以回复我~
#1

Onlysupcarry 提问者

非常感谢!
2016-08-05 回复 有任何疑惑可以回复我~
#2

入门级陶成国

clear:both不是写在mainbody第二个模块里,mainbody第二个模块里有float:left,你再写clear:both就没意义了,clear:both通常写在.clearfix:after伪类里,然后在父元素class里引用
2016-08-17 回复 有任何疑惑可以回复我~

你可以使用火狐浏览器查看,然后用火狐浏览器的firebug看对footer清除浮动前以及清除浮动后,wrap高度的变化就更清楚啦,一目了然!


1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
网页布局基础
  • 参与学习       214707    人
  • 解答问题       1756    个

让你精通CSS中三大定位机制,彻底掌握网页布局的相关知识

进入课程

不对父元素mainbody清除浮动,而是对footer用clear:both清除浮动

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信