CSS floats创建三栏网页布局
三栏布局是目前最常见的网页布局,主要页内容放在中间一栏,边上的两栏放置导航链接之类的内容。基本布局一般是标题之下放置三栏,三栏占据整个页面的宽度,最后在页的底端放置页脚,页脚也占据整个页面宽度。绝大多数网页设计者都熟悉传统的网页设计技术,用这些技术可以生成带有表格、创建固定宽度布局或者“液态”(它可以根据用户浏览器窗口宽度自动伸缩)布局的网页。
现在,我们都开始抛弃基于表格的布局技术,许多网络设计者正在从XHTML标记和CSS格式这一新范例中寻找创建三栏布局的方法。用绝对定位的方法从 CSS中得到固定宽度的布局并不困难;但是得到液态布局就有点困难了。因此,本文介绍一种用CSS的float和clear属性来获得三栏液态布局的方法。
[b]基本方法[/b]
基本的布局包含五个div,即标题、页脚和三栏。标题和页脚占据整个页宽。左栏div和右栏div都是固定宽度的,并且用float属性来把它们挤压到浏览器窗口的左侧和右侧。中栏实际上占据了整个页宽,中栏的内容在左、右两栏之间“流淌”。由于中栏div的宽度并不固定,因此它可以根据浏览器窗口的改变进行必要的伸缩。中栏div的左侧和右侧的填充(padding)属性保证内容安排在一个整齐的栏中,甚至当它伸展到边栏(左栏或者右栏)的底端也是这样。4X[y1s'Au@0[
[b]三栏布局的一个例子[/b]
请看看用本文所介绍的技术进行三栏布局的例子。E D+?%HPE
这个例子用鲜艳的颜色来区分布局的各个div。
[b]XHTML代码:[/b]
Example Source Code 6wUNz+LY|jV
[code] uE!kz u'O-}8c!H
<body>|P|)^/j1f,b
<div id="header">%C nM,W^#u{
<h1>Header</h1>*x5?/HUW7a
</div>
<div id="left">I8q.EFmMhaA:vv
Port side text...
</div>
<div id="right">
Starboard side text...9[1xe1E6EZ
</div>-A5k|'KS k U^m[2p:C
<div id="middle">:E'G.F|/R R
Middle column text...OD'|!zoU:L"Puqdk
</div>
<div id="footer">1wR9w;Jy2\cE-P
Footer text...h0w9_CO Y2oQ
</div>
</body>
[/code]3@h5}DJn/w
[b]下面是CSS代码[/b]:h dI}E
Example Source Code 1uBW?b}\4Z9l \
[code] nDof8|(H
body {@t4lAF2k,c s0L!K
margin: 0px;w+O)f FU
padding: 0px;
}s8G e tA7gtV
div#header {jeLG1\%R7m
clear: both;
height: 50px;
background-color: aqua;9b H xpI]"\
padding: 1px;
}l:Isn'y:}-l$t
div#left {
float: left;x&G&U4U G7f%x
width: 150px;c(j D1vZFa
background-color: red;.FB'l3\ [Y}
}zFs&MB KA
div#right {
float: right;4Z.l ms el
width: 150px;)i:w;`;]!sw }:U|
background-color: green;TK6Xp#H7PBf0d
}
div#middle {
padding: 0px 160px 5px 160px;nW9K5M"d!Z+Q
margin: 0px;.l Ag3c"~]
background-color: silver;O Q.{ q\*L5x-O+B
}T8g2F0_Mf
div#footer {,IO ApT sG
clear: both;
background-color: yellow;
}
Vp9d6z8b$_n
xd.F B(O.|p0m
[/code]
页:
[1]