我爱电脑技术论坛's Archiver

不和人说话 发表于 2008-5-10 00:47

CSS floats创建三栏网页布局

三栏布局是目前最常见的网页布局,主要页内容放在中间一栏,边上的两栏放置导航链接之类的内容。基本布局一般是标题之下放置三栏,三栏占据整个页面的宽度,最后在页的底端放置页脚,页脚也占据整个页面宽度。
rD x!Fv+}rV3H!h1V vaM%Hork
  绝大多数网页设计者都熟悉传统的网页设计技术,用这些技术可以生成带有表格、创建固定宽度布局或者“液态”(它可以根据用户浏览器窗口宽度自动伸缩)布局的网页。
}+i1ymY;nx !u] t6[3l:XR6id;U y
  现在,我们都开始抛弃基于表格的布局技术,许多网络设计者正在从XHTML标记和CSS格式这一新范例中寻找创建三栏布局的方法。用绝对定位的方法从CSS中得到固定宽度的布局并不困难;但是得到液态布局就有点困难了。因此,本文介绍一种用CSS的float和clear属性来获得三栏液态布局的方法。[2X(UH2nE3X t
)_7uUG$Wky/V&q
  基本方法
/nOZ"a$H
#p'P{;`k.An y u   基本的布局包含五个div,即标题、页脚和三栏。标题和页脚占据整个页宽。左栏div和右栏div都是固定宽度的,并且用float属性来把它们挤压到浏览器窗口的左侧和右侧。中栏实际上占据了整个页宽,中栏的内容在左、右两栏之间“流淌”。由于中栏div的宽度并不固定,因此它可以根据浏览器窗口的改变进行必要的伸缩。中栏div的左侧和右侧的填充(padding)属性保证内容安排在一个整齐的栏中,甚至当它伸展到边栏(左栏或者右栏)的底端也是这样。
(R^x|i~5y
+q-?Y2e M7_b}   三栏布局的一个例子DCK)?T8x
#O%g(fRP K0F
  请看看用本文所介绍的技术进行三栏布局的例子。g-Lw"k@#Y
,b-}rK9y(c
  这个例子用鲜艳的颜色来区分布局的各个div。tj;Qtc5s
v_a2pd ^(}]
  XHTML代码:
O!_M&h6uC7w1O)B bj E Oo0T.a@!a
  Example Source Code;i![F)PK)HW

G{!]4bs'|:X;h 以下是引用片段:Sv.J}P ~C
  <body> 4b+c:j*@5^@u(q
   <div id="header">
v:k UW5G6M h    <h1>Header</h1> lya` W9nl w
   </div>
q:P LpVY"t W@    <div id="left"> 4@x+b"L0~Y@,L
   Port side text... :@3DWJ'd#ZMOp#P
   </div> ub`?XE'y8yy
   <div id="right"> ^'o;z[*KI [
   Starboard side text...
.[YC7E:C    </div>
}NB \u9l9^ l    <div id="middle"> ts.~4T:VAyT+p
   Middle column text... !r+x;D};f
   </div>
~XL:er*e/A    <div id="footer">
-NaGP"TpLjy x    Footer text... Aw5f7KA
   </div>
Y#Q ]d&U4m`x    </body> Gz4Vwn.tx
[%EaAq1C-@
kyk!s mN0hy1m
  下面是CSS代码: %H{Z,i;\!u|N:m

|jeE[O2Xo   Example Source Code*R7m F%B;J|ajd

?EI)l'^ U*\ 以下是引用片段:"P-hMn's0b BI
  body {
s,N U aZ-`    margin: 0px; N2E;xIT/r%`/R%pM
   padding: 0px;
}nq^biS+i    } IbJW5M-L,a.`TB^R
   div#header { ;^D q3g&lg[.eQQF
   clear: both;
.Y2M/Aq;l{*q    height: 50px; !k Qa/w x1[
   background-color: aqua; j Ho;G Qr K
   padding: 1px; &?4]K Hl9`A%@
   } :z!eLCcbj1ftA(]/x
   div#left { 3S@2Ev{ Abm
   float: left;
e%E@P6y'd O    width: 150px; QRI"ZE-K
   background-color: red;
7BBSeri    } +m G1Mh6db~;`
   div#right { ,K%f#`/GsN7@X
   float: right; )I/W4dG'TCC2Z
   width: 150px;
/|.iE.G])ic6}    background-color: green;
Z[+YqPV@lEv    }
9d2n Td[E4ED    div#middle {
Jx;?;R:p]_ kD h8f    padding: 0px 160px 5px 160px; RmI'jZ ns
   margin: 0px;
,t.\z'q!Xl'q|    background-color: silver; GZu&TlbtB)F
   } 3TR|#bZ8o#d%Z+Q
   div#footer {
#}*@$K,})@9u7|ia Y9opZ    clear: both; (^1d&|mrR;r
   background-color: yellow;
+K0X?r Vo(n-~T    }

页: [1]

Powered by 我爱电脑技术论坛 Archiver 6.1.0  © 2001-2007 本SEO插件由网络人站长论坛出品