div+css三栏自适应宽度布局实例

    常说的三栏布局主要是由#header、中间三栏、#Footer三大部分组成。中间三栏占整个页面的宽度,分为#left、#middle、#right,左右主要放一些导航链接,中间放主要内容。
   用绝对定位的方法实现固定宽度的三栏布局并不难,但是如果想让宽度随着显示器分辨率自适应就有点困难了。
   基本方法

  基本的布局包含五个div,即标题、页脚和三栏。标题和页脚占据整个页宽。左栏div和右栏div都是固定宽度的,并且用float属性来把它们挤压到浏览器窗口的左侧和右侧。中栏实际上占据了整个页宽,中栏的内容在左、右两栏之间“流淌”。由于中栏div的宽度并不固定,因此它可以根据浏览器窗口的改变进行必要的伸缩。中栏div的左侧和右侧的填充(padding)属性保证内容安排在一个整齐的栏中,甚至当它伸展到边栏(左栏或者右栏)的底端也是这样。
   实例代码
HTML代码


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

html代码:
程序代码 Example Source Code

<body>
<div id="header">
    <h1>蜗爱css--www.woaicss.com</h1>
</div>
<div id="left">
    #left----woaicss.com
</div>
<div id="right">
    Starboard side text...
</div>

<div id="middle">
    #Middle---woaicss.com
</div>

<div id="footer">
    #Footer---woaicss.com
</div>
</body>

CSS代码:
程序代码 Example Source Code

body {
    margin: 0px;
    padding: 0px;
}
#header {
    clear: both;
    height: 50px;
    background-color: blue;
    margin:0px 5px 5px 5px;
    padding: 1px;
    color:white;
}
#left {
    float: left;
    width: 150px;
    background-color: red;
    margin:0px 5px;
}
#right {
    float: right;
    width: 150px;
    background-color: green;
    margin:0px 5px;
}
#middle {
    padding: 0px 160px 5px 160px;
    margin: 0px;
    background-color: silver;
    height:300px;
    margin:0px 5px;
}
#footer {
    clear: both;
    background-color: yellow;
    margin:5px 5px 0px 5px;
}

代码说明
HTML代码中各部分出现的顺序是非常重要的。左栏和右栏div必须在中栏之前出现。这样才可以让这两个边栏浮动到它们的位置上(屏幕两侧),并让中栏的内容将“流”入它们之间的空间。如果浏览器在一个或者两个边栏div之前先发现中栏,那么中栏将占据屏幕的一侧或者两侧,这样浮动的部分就会跑到中栏的下面而不是中栏的旁边了。

在div#middle样式中,没有clear,申明允许中栏的内容“流淌”在两个边栏之间。padding:0px 160px 5px 160px申明设置了到左栏和右栏的填充,这样允许150象素宽度的栏div,在加上10象素的间距。

这是用float实现的三栏液态布局的简单实例。



文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: div+css布局三栏布局自适应宽度液态布局
相关日志:
评论: 3 | 引用: 0 | 查看次数: -
回复回复rr[2010-05-16 02:57 PM | del]
写得很好,学习了,能不能请教一个问题,我是新手,采用三栏自适应宽度布局,marin和border都设为0,结果left,right,middle三栏中间出现一个空隙,背景图片对不上,博主能不能抽空看一下,不胜感谢
回复回复加油,呵[2009-11-23 11:45 AM | del]
挺好,学了招
回复回复任侠[2009-07-02 01:55 PM | del]
这个挺不错的,学习手下了~~
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.