返回列表 回复 发帖

Div+CSS布局入门教程(三)

  当我们写好了页面大致的DIV结构后,我们就可以开始细致地对每一个部分进行制作了。
# L9 y8 R. m" {8 ~0 K
  G  ]# z( O0 l  在上一章中我们写入了一些样式,那些样式是为了预览结构而写入的,我们把css.css中的样式全部清除掉,重新写入以下样式代码:
6 N. u, d% t6 I* H$ v: T3 c/ m程序代码
4 R; X' ]! o' m$ b$ t, I9 \# u/*基本信息*/+ `6 }! w3 b, ]. P
body {font:12px Tahoma;margin:0px;text-align:center;background:#FFF;}- D2 ^( T9 E/ X; U
a:link,a:visited {font-size:12px;text-decoration:none;}/ I& s: j. W, v+ W" T+ @# }; B0 R
a:hover{}" R( ?2 k/ i/ }2 g2 o$ V# ]
# B7 p4 I1 X! |: @( E; b3 V* P
/*页面层容器*/$ |9 V8 Q- R7 J& I- N
#container {width:800px;margin:10px auto}+ T1 x$ l7 `. `  h! _* X+ C* j" q
  样式说明:9 {9 `$ y& a5 ?) h% q* G0 P7 {
! l4 y7 ]: H4 h) z2 C# g
  a:link,a:visited {font-size:12px;text-decoration:none;}7 [9 u- S: O. ?4 f8 L0 H( w. `! I
  a:hover {}
$ [* f3 P7 V/ g+ L0 R9 W- f9 i% P" ~0 o& T) j
  这两项分别是控制页面中超链接的样式,具体我就不说明了,请大家参阅手册。
' [" Q. E% T6 g$ Y' Z  \" w$ ?
/ y* D6 ]9 ?$ p$ E8 T2 _  #container {width:800px;margin:10px auto}/ v5 ^$ j! {- l  u/ g

. o- ?8 _: a8 @6 w2 J% X$ K' ^- R$ B  指定整个页面的显示区域。8 j& T: F* {4 h, u; U" _! Y9 ~
  width:800px指定宽度为800像素,这里根据实际所需设定。
' e6 R% T6 R' i) [6 e7 m( ~  margin:10px auto,则是页面上、下边距为10个像素,并且居中显示。
7 J) W  `3 D( [- j3 a; O  上一章中我们讲过,对层的margin属性的左右边距设置为auto可以让层居中显示。, D; s4 |) ?! X7 ~
# Z8 J4 y( Y# v' C, w# ]5 ~/ `
  接下来,我们开始制作TOP部分,TOP部分包括了LOGO、菜单和Banner,首先我们要做的就是对设计好的图片进行切片,以下是在FW下完成的切片:
( r. Y5 ~0 v% K, v. F* G( u# P
, [! P+ u' p- W5 d3 M, h9 @" D( k
2 K1 ^0 [  ?! f$ n" \
我将TOP部分切片为两部分,第一部分包括了LOGO和一条横线。由于LOGO图片并没有太多的颜色,这里我于是将这一部分保存为GIF格式,调色板选择为精确,选择Alpha透明度,色版为白色(此处颜色应与背景色相同),导出为logo.gif,图像宽度为800px。
8 S+ B* U% R& O8 r" d
1 w% l3 V, I1 [4 B  到这里,有的朋友就说了,* 为什么要使用GIF格式?使用JPEG不是更好吗?
, i. c  X# Y6 H# Y. ?& b  因为GIF格式的图片文件更小,这样能使页面载入的速度更快,当然使用此格式之前必须确定图片并没有使用太多的颜色,当我们使用了GIF格式时,从肉眼上并不能看出图片有什么太大的变化,因此这是可行的。
6 @! [% i: V+ s  N/ B5 c1 o6 O) u# f& J9 G6 C6 K4 Y* `, W
  * 接下来的Banner部分还能使用GIF格式吗?
* N$ D- ?4 e" d" f  答案是不能,因为Banner部分是一个细致的图片,如果使用GIF格式颜色会有太大的损失,所以必须使用JPEG格式,将文件导出为banner.jpg。
6 A& `) H2 Z4 |9 j. @% ~; t
. C* C4 w" d1 T/ G  P0 j( a, N  * 合理的切片是非常之重要的,因为切片的方法正确与否决定了CSS书写的简易程度以及页面载入速度。, ~# I8 |5 ~1 H! q# J& ~
1 O6 H% h- x: Z/ D
  切好片后,我们还需要对TOP部分进行分析并将DIV结构写入Header中代码如下:
7 _6 t; T) y- f0 f  W( k程序代码
. {* k3 ^1 e$ X' _7 b0 S  <div id="menu">% ~4 T1 A" i) n) p% \1 }) N
   <ul>* B6 Q' D, W' E2 c, h- n
    <li><a href="#">首页</a></li>4 }+ ~& A& a5 v# N9 m& v! b: q
    <li class="menuDiv"></li>
7 m( z) b+ U- d+ `2 R% b# i; u    <li><a href="#">博客</a></li>. O# o& I8 i- B/ v* f( i# L: i. i
    <li class="menuDiv"></li>" \1 p9 `. q& g/ t( [$ ?
    <li><a href="#">设计</a></li>3 Z6 k0 t% [4 W, o7 F0 b! j
    <li class="menuDiv"></li>
+ e9 [  r- }& n' b3 V* Y    <li><a href="#">相册</a></li>6 _, U0 A. m0 T6 L  z2 c
    <li class="menuDiv"></li>0 x' j& e; A6 c8 ~( L
    <li><a href="#">论坛</a></li>
5 ~/ \( {: G0 h. \, O4 ^    <li class="menuDiv"></li>; X5 f- y. s. r' |9 Q3 Y! _
    <li><a href="#">关于</a></li>/ c: M+ q% P& ~6 i' F" }
   </ul>
8 L. z! {: H( a$ I+ ?+ A  </div>) U+ X4 g1 h8 \7 i# T
  <div id="banner">2 A+ _/ F" K6 I8 p
  </div>$ b3 E4 g/ _0 i% o( T
  为什么要这么写呢,因为对菜单使用列表<li>形式,可以在以后方便对菜单定制样式。* R5 a# h2 x, H0 P, f* X' n
% R5 U4 t1 z% @
  而为什么要添加以下代码呢?) u" ?- a3 c- ~
  <li class="menuDiv"></li>( t: Q1 u* l# I& l. a! q2 Q- G
  插入这一段代码是可以方便地对菜单选项之间插入一些分隔样式,例如预览图中的竖线分隔。
( b0 V& H2 c, u, B5 N9 q. t0 Q. f" @
( w; y1 q3 ^& P' w  然后我们在css.css中再写入以下样式:
, G% K9 R$ Q$ Y  Q程序代码
) _7 j5 e. E; N, R1 f/*页面头部*/
# \5 P9 |' I+ f0 i( S4 M# S#header {background:url(logo.gif) no-repeat}
5 L9 |5 T1 u( b$ x  样式说明:' O8 R. s; ?' b5 P5 r- d
  #header {background:url(logo.gif) no-repeat}
( d9 G( Y& u% s  给页面头部分加入一个背景图片LOGO,并且不作填充。
* q- S* D/ y6 V. N! R/ n( b8 o
; a6 s) V: H# F- L) y& a* E) \  这里,我们没有指定header层的高度,为什么不指定呢?4 I' P( ~% f& j8 M9 w! U2 {

( D9 [1 a6 Q, R1 \  因为header层中还有菜单和banner项,所以层的高度暂时是未知的,而层的属性又可以让层根据内容自动设定调整,因此我们并不需要指定高度。
6 ?3 w% O! B% v
) z. N( Y: ^# r$ ~! Z  * 接下来,我们开始制作菜单,留到下一章,教程中相关文件请到下一章下载!
附件: 您所在的用户组无法下载或查看附件
怨去吹箫,狂来说剑,两样销魂味。
返回列表