龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > div+css/html >

网页小技巧:解决背景不能延伸的问题

时间:2012-12-29 08:41来源:未知 作者:admin 点击:
分享到:
如果我们的网站排版方式是纵向的,比如两列、三列(当然还可以更多)。这样的排版我们就会用到 float 例:排成三列的格局。代码如下: div id="content" div id="subcol"subcol/div div id="main"
如果我们的网站排版方式是纵向的,比如两列、三列(当然还可以更多)。这样的排版我们就会用到 float 例:排成三列的格局。代码如下:
<div id="content">
<div id="subcol">subcol</div>
<div id="main">
<div id="maincol">maincol</div>
<div id="xcol">xcol</div>
</div>
</div>
这里我们打算把subcol放在左侧,maincol放在中间,xcol放在右侧。CSS的写法如下:
#content{width:700px; background:#f30;}
#subcol {float:left; width:200px;}
#main {width:500px; height:100px; float:right;}
#maincol {width:300px;float:left;}
#xcol {width:200px; float:right;}
好像这样就没问题了!但是事实上我们可以发现背景却没有伸展的意思,这是因为背景的自适应高度并不继承float的高度,如何解决这个问题呢?如下分析:
背景会继承float底线所在容器中的位置高度,所以背景一定会找到最后一个标签去测定,这样我们在所有的float下方下如下的标签:
<div style="clear:both;"></div>
这个标签中什么也不放。也就是一个没有高度的空容器,这样它就可以把背影拉下来了。
修改过的代码:
<!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=gb2312" />
<title></title>
<style type="text/css">
<!--
#content{width:700px; background:#f30;}
#subcol {float:left; width:200px;}
#main {width:500px; height:100px; float:right;}
#maincol {width:300px;float:left;}
#xcol {width:200px; float:right;}
-->
</style>
</head>
<body>
<div id="content">
<div id="subcol">subcol</div>
<div id="main">
<div id="maincol">maincol</div>
<div id="xcol">xcol</div>
</div>
<div style="clear:both;"></div>
</div>
</body>
</html>
事实上在实际操作中还是会有很多问题会出现,这就需要我们以冷静的头脑去分析与解决了!

精彩图集

赞助商链接