捌玖网络工作室's Archiver

admin 发表于 2007-12-8 11:15

CSS floats创建三栏网页布局

三栏布局是目前最常见的网页布局,主要页内容放在中间一栏,边上的两栏放置导航链接之类的内容。基本布局一般是标题之下放置三栏,三栏占据整个页面的宽度,最后在页的底端放置页脚,页脚也占据整个页面宽度。
XdkU#gx   
sU-k#`ch$O ~f-}   绝大多数网页设计者都熟悉传统的网页设计技术,用这些技术可以生成带有表格、创建固定宽度布局或者“液态”(它可以根据用户浏览器窗口宽度自动伸缩)布局的网页。
c~3Px$cYx   现在,我们都开始抛弃基于表格的布局技术,许多网络设计者正在从XHTML标记和CSS格式这一新范例中寻找创建三栏布局的方法。用绝对定位的方法从 CSS中得到固定宽度的布局并不困难;但是得到液态布局就有点困难了。因此,本文介绍一种用CSS的float和clear属性来获得三栏液态布局的方法。
m+@%FHPNrK2a   [b]基本方法[/b]
rK7a;u&GK @+? Knk*k.E
  基本的布局包含五个div,即标题、页脚和三栏。标题和页脚占据整个页宽。左栏div和右栏div都是固定宽度的,并且用float属性来把它们挤压到浏览器窗口的左侧和右侧。中栏实际上占据了整个页宽,中栏的内容在左、右两栏之间“流淌”。由于中栏div的宽度并不固定,因此它可以根据浏览器窗口的改变进行必要的伸缩。中栏div的左侧和右侧的填充(padding)属性保证内容安排在一个整齐的栏中,甚至当它伸展到边栏(左栏或者右栏)的底端也是这样。8]5n W&}nT,K
  [b]三栏布局的一个例子[/b]RCKPC2@
  请看看用本文所介绍的技术进行三栏布局的例子。*yZ C}~P7Z
  这个例子用鲜艳的颜色来区分布局的各个div。.zBx(q5p(J5V
  [b]XHTML代码:[/b]
}OJU qae   Example Source Code
4S5m"yz0JCF-| [code] 1T j_/j"Os9}-@6D
<body>
_Y+W1c Bn-F%d   <div id="header">7_$qm8Tg\ Pt5I
  <h1>Header</h1>
WgV.Q,F7x   </div>
a.`[,k|*{} @1Hc   <div id="left">9aLi(e0k
  Port side text...9V,Yw!c'U
  </div>][/tp8a.Q6{
  <div id="right">,K"nz `l6k,ml%R(E7t
  Starboard side text...#H\.VL6C(VyC ]
  </div>
l)zWM ?8U/M.I   <div id="middle">
D8j%OB B!C5_V   Middle column text...+?dv3\&P T~D8E$F`
  </div>$B wd"V\_
  <div id="footer">
C,q~| Qk+ufiD   Footer text...6M;t1yg5B1a[(f
  </div>
&Ka]@G5{`Q T+m   </body>\ _5h~|| O#b
[/code] Q;v;Zq{-V&k
[b]下面是CSS代码[/b]:y){S6B)_-F$H
  Example Source Code 4V u k G]"kv#[!x5P
[code]
[_D,l0{;kT,x{ body {5i+r-HD;|p
  margin: 0px;
qb]3^t   padding: 0px;
Og {r@,CTQ   }
F6In]v(X"D   div#header {L9co}oI1Fg {6W
  clear: both;
@0a o-Ji   height: 50px;
#s g$eT-Z&a   background-color: aqua;
l,Xdh$U c   padding: 1px;
!{4A4Bqj ]d(kHM_   }
p9bt0\7w5dQ   div#left {
!Lr5z%Xi{   float: left;?bbP};d d`
  width: 150px;
k1g#]:A&} _;M'uX   background-color: red;
UP?#]`   }
W/\,P@c:]K   div#right {c+OAO'm'F1bS
  float: right;.F5a!FxR7CU
  width: 150px;
1c,B'h*b2U;L V6M   background-color: green;
Z9? C)^)}*}Y$w5`   }T+N/} ]1@
  div#middle {Y3_3]@kl(F
  padding: 0px 160px 5px 160px;-U1n;D;cB#[8L iL)m
  margin: 0px;yu9A(`u)n%X/LA8X
  background-color: silver;
mB2gGql3`0_$t   }[ q'|!^!Sc8G |
  div#footer { |_?BG
  clear: both; OAAUkH)oB$A Ib#T.b
  background-color: yellow;
JjT*R\,wh   }
Rr9J&A&[7dB.BU p ?:m,J hc:]
b2W7M1H(v,l#E&l'{x&lr

0P%I0L)h ?WNA [/code]

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.