用CSS+DIV控制一行两列背景自适应

网页布局中常有的一种情况就是网页主体部分分成一行两列;而在很多种情况下,设计师们常把左右两列的背景色设计成不同色彩,以实现内容块的明显区分;但这样的设计给布局提出了一个看似简单,而实现非常难的问题;那就是左右两列怎么样实现背景高度自适应,及左边内容高于右边时,右边背景色也要和左边一样;右边内容高于左边时,左边背景色也要和右边一样;

为了实现这个效果,我在网上查过无数的文章,都没有很好的解决方案;多数人用很大的负数实现,也有人用javascript实现; 后来因为感觉这样实现不合理,所以我一直用表格来实现; 因为这样最简单; 但最近公司要求得用CSS+DIV来实现,不能用表格,我仔细想了想;想出了一个解决办法,给大家分享下;希望能对大家有帮助。

基本原则:
1、布局要合理,不能为了实现这样的效果而使html的代码变得臃肿;
2、CSS部分也要简单巧妙实现,不能为了这样的效果而写大量的代码;而主要的还是浏览器兼容方面要没有问题;

下面实现的代码:先看看效果

CSS代码:
程序代码 程序代码

<style>
*{ padding:0; margin:0; font-size:12px; line-height:2.0; font-family:Verdana;}
#box{ background:#FFFF66;width:700px; padding-left:200px; float:left;}
#content{ background: #FF6600; float:left;}
#right{ width:695px; float:right;}
#left{ width:200px; margin-left:-200px; position:static; float:left;}
* html #left{position:fixed;}
</style>


Body部分代码:
程序代码 程序代码

<body>
<div id="box">
  <div id="content">
    <div id="right">right <br />right</div>
    <div id="left">left</div>
  </div>
</div>
</body>





[本日志由 andy 于 2009-04-24 03:17 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: CSS WEB
评论: 2 | 引用: 0 | 查看次数: -
freezing2688[2009-09-16 03:02 PM | del]
好东西,收藏了。呵呵
------------------------
我会帮你做链接的 ^_^
lin04com[2009-01-11 00:22 AM | del]
这种思路确实很不错,学习了。
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.