绿野仙踪's Archiver

阿喀琉斯 发表于 2007-5-19 18:02

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

  当我们写好了页面大致的DIV结构后,我们就可以开始细致地对每一个部分进行制作了。
c'piZ"M\
`#NrcO8r'O f lz   在上一章中我们写入了一些样式,那些样式是为了预览结构而写入的,我们把css.css中的样式全部清除掉,重新写入以下样式代码:
h5~|W[ o 程序代码?1X)uO@!GK$Q-l x
/*基本信息*/
Fl*X3Nq$fpo4j6s body {font:12px Tahoma;margin:0px;text-align:center;background:#FFF;}
4Z%K"RL'N7Iu*}X C a:link,a:visited {font-size:12px;text-decoration:none;}
K%l"nGY V a:hover{}3Vkn(}J8G&?^

@7aiP#P@B0a8{ C /*页面层容器*/
i^#~w#A #container {width:800px;margin:10px auto}DQ7? C8^Z.Bb
  样式说明:
QV-}e3D H|6Ix1H
{ V iG/X\K%P   a:link,a:visited {font-size:12px;text-decoration:none;}C+Q@Jq!u };o F
  a:hover {}
){_)hf6R|%j2n Hu{:q1o m_Jy
  这两项分别是控制页面中超链接的样式,具体我就不说明了,请大家参阅手册。+f`#Is"yXf2Vf
8l@2R1W lSpf;O4s
  #container {width:800px;margin:10px auto}
T_?I y$Ej
.E8QBw6B#YP   指定整个页面的显示区域。
-H D5WgQ$q;R   width:800px指定宽度为800像素,这里根据实际所需设定。
0E)f6^'[C:tj   margin:10px auto,则是页面上、下边距为10个像素,并且居中显示。
!LT9W%ef:\z C @   上一章中我们讲过,对层的margin属性的左右边距设置为auto可以让层居中显示。O q RQo

C1@POV&T(g8rf   接下来,我们开始制作TOP部分,TOP部分包括了LOGO、菜单和Banner,首先我们要做的就是对设计好的图片进行切片,以下是在FW下完成的切片:
([.c4w(f9}
tY6m-|G6P)^m [attach]946[/attach]
q"i9w2]0b(N/x 3`$BG#q b
我将TOP部分切片为两部分,第一部分包括了LOGO和一条横线。由于LOGO图片并没有太多的颜色,这里我于是将这一部分保存为GIF格式,调色板选择为精确,选择Alpha透明度,色版为白色(此处颜色应与背景色相同),导出为logo.gif,图像宽度为800px。[ WUd/bH
L4N/L sj H"Sg}(i
  到这里,有的朋友就说了,* 为什么要使用GIF格式?使用JPEG不是更好吗?
N O!KJ?   因为GIF格式的图片文件更小,这样能使页面载入的速度更快,当然使用此格式之前必须确定图片并没有使用太多的颜色,当我们使用了GIF格式时,从肉眼上并不能看出图片有什么太大的变化,因此这是可行的。
\q+[0~"TU
MV&of+^)QA   * 接下来的Banner部分还能使用GIF格式吗?
/fA:p3`+J2Y0F   答案是不能,因为Banner部分是一个细致的图片,如果使用GIF格式颜色会有太大的损失,所以必须使用JPEG格式,将文件导出为banner.jpg。m7OEq^U1a}*j*\

]:n'bawb6Q2CTSz|   * 合理的切片是非常之重要的,因为切片的方法正确与否决定了CSS书写的简易程度以及页面载入速度。
m8u/uLc Z6r&\4k
O.nQTZ.r   切好片后,我们还需要对TOP部分进行分析并将DIV结构写入Header中代码如下:BP2f;W(H
程序代码Y-c6BD6Qj0T_+~,ep
  <div id="menu"> |J NAx'|([
   <ul>
Z3?kSD_     <li><a href="#">首页</a></li>.Bl*Dbri9xL4~
    <li class="menuDiv"></li>B9K}n|e9o
    <li><a href="#">博客</a></li>|"~8tL#ns'{
    <li class="menuDiv"></li>
qg e\/~f#Q!v*O     <li><a href="#">设计</a></li>
p q0g&Z%\1K C     <li class="menuDiv"></li>YH[d1D [A-x h
    <li><a href="#">相册</a></li>
K3{n(J O8]0I{     <li class="menuDiv"></li>!in:c#I;TN?#e2J
    <li><a href="#">论坛</a></li>n%@.u)Qo
    <li class="menuDiv"></li>
US cq-c(bp]     <li><a href="#">关于</a></li>
W4\ O5C/f]#\N    </ul>
%e t Q9Fi5_,j   </div>8ZY.^9y1g
  <div id="banner">~+nj&J+@kQz8}
  </div>
H$G:As&@&[3x   为什么要这么写呢,因为对菜单使用列表<li>形式,可以在以后方便对菜单定制样式。8pW%g_@

0R*hhryH'G   而为什么要添加以下代码呢?l.WV1R"A
  <li class="menuDiv"></li>
0x? @f:T7M;k9N   插入这一段代码是可以方便地对菜单选项之间插入一些分隔样式,例如预览图中的竖线分隔。U)P'FQ W r6X

B5[|,^]f }xP,})_?,a6m   然后我们在css.css中再写入以下样式:
!d5W/`8E(w3`)f 程序代码{a3U\ S9r*k$}
/*页面头部*/_J7t1h[ Vd r5P
#header {background:url(logo.gif) no-repeat} d2N5v(]r!SB1~q8L0{
  样式说明:
9`lX4z)L5U\H8C[   #header {background:url(logo.gif) no-repeat}1Ah+u-JM7h5y
  给页面头部分加入一个背景图片LOGO,并且不作填充。5S'`,?&Y@
RhO s5Mt
  这里,我们没有指定header层的高度,为什么不指定呢?
/TWW \Q
$j\Sn y.XL4J1qIc   因为header层中还有菜单和banner项,所以层的高度暂时是未知的,而层的属性又可以让层根据内容自动设定调整,因此我们并不需要指定高度。
'gU%PM WO
b!M5K(iO \3|2]   * 接下来,我们开始制作菜单,留到下一章,教程中相关文件请到下一章下载!

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.