绿野仙踪's Archiver

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

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

四、页面制作(1)----用好border和clear
EW+CB)J.J`k :SD}B$BUB5Z3J
  由于找工作找房子的原因,隔了这么久才能开始写教程,心里感觉很对不起一直在关注本站的朋友,今天是找到房子的第二天,于是赶快继续写教程。
hg(PQ%m"|"IC*F
E-c m2vn1I   这一节里面,主要就是想告诉大家如何使用好border和clear这两个属性。 g!@anS.k!V$c:@^T

^'XZ LV1Izm;\   首先,如果你曾用过table制作网页,你就应该知道,如果要在表格中绘制一条虚线该如何做,那需要制作一个很小的图片来填充,其实我们还有更简单的办法,只要在<td></td>中加入这么一段就可以了,你可以试试:
0P3M'd{ [bH   <div style="border-bottom:1px dashed #ccc"></div>
{*{` Ij2c cU I[i$Z;i.O7L[+u
  大家可以再次参考手册,然后你就能明白dashed、solid、dotted...等的作用,利用它们你可以制作出许多效果来,实线、虚线、双线、阴影线等等。 sf-j;GG4J8S
程序代码
[2X?FbO#uj;o3L <div id="banner"></div>O[d%d$l2i;k%wL
  以上代码便可以实现设计草图中的banner,在css.css中加入以下样式:.o"eP5_Ow
程序代码
6w1cN*Z4P.f #banner {
(eWZ%|^ lE-E3f     background:url(banner.jpg) 0 30px no-repeat; /*加入背景图片*/U"}0u w W ZA
    width:730px; /*设定层的宽度*/%W9jG i$Cc Yr t
    margin:auto; /*层居中*/v,Gr\Mb)z6o cK/U
    height:240px; /*设定高度*/xkL!?*S~
    border-bottom:5px solid #EFEFEF; /*画一条浅灰色实线*/
U1\j+V#f     clear:both /*清除浮动*/5at(w(NF+s~
}-R,qU^zJ.f-`5l X!y&G
  通过border很容易就绘制出一条实线了,并且减少了图片下载所占用的网络资源,使得页面载入速度变得更快。}ai5I |Tg*Ls

5x*q.|"LE K[K }   另一个要说明的就是clear:both,表示清除左、右所有的浮动,在接下来的布局中我们还会用这个属性:clear:left/right。在这里添加clear:both是由于之前的ul、li元素设置了浮动,如果不清除则会影响banner层位置的设定。&l/hO [??b
程序代码J Vu\#^c)srZ6g
<div id="pagebody"><!--页面主体-->
|6F#x"o_uL     <div id="sidebar"><!--侧边栏-->
q P,sr/H9X$A     </div>
ti [G MJ3h9K1Q|,^w r     <div id="mainbody"><!--主体内容-->
e&brn4k&g+q@     </div>o%w@UB9@Si
</div>6RV*B:Pwv
  以上是页面主体部分,我们在css.css中添加以下样式:6t Krt+wWag
程序代码
Q7y N%FnN #pagebody {.Z B!I0]B$|D|
    width:730px; /*设定宽度*/
5cZt,d7~!wv4n"c     margin:8px auto; /*居中*/
^f {3Q&l&c }
M1Z.Dn,rv5L3T #sidebar {
[2S(K[vo     width:160px; /*设定宽度*/}0R)kI-f\AM
    text-align:left; /*文字左对齐*/
n2O TK3tl-|M A     float:left; /*浮动居左*/u6@![4xA!G&e
    clear:left; /*不允许左侧存在浮动*/],pb&~4Ax%b0s
    overflow:hidden; /*超出宽度部分隐藏*/q"rWt#]:u)I`
}
W#r+}v g M #mainbody {;A+xX,j!p
    width:570px;
ER Oo3BE     text-align:left;
e };kb'a0C     float:right; /*浮动居右*/
!{QZ'p|*J DQA~2l     clear:right; /*不允许右侧存在浮动*/
9?(q}3zp     overflow:hidden-D3H ~ q2_|uA
}jQb)sZf7Ja
  为了可以查看到效果,建议在#sidebar和#mainbody中加入以下代码,预览完成后可以删除这段代码:t MD VTB8Vs"sE
程序代码
.O:Ml%}.f ^+R'` border:1px solid #E00;
3v4Q)?` [ QL3B7o height:200px \GL%J2bd'b7K
  保存预览效果,可以发现这两个层完美的浮动,在达到了我们布局的要求,而两个层的实际宽度应该160+2(border)+570+2=734px,已经超出了父层的宽度,由于clear的原因,这两个层才不会出现错位的情况,这样可以使我们布局的页面不会因为内容太长(例如图片)而导致错位。m3w3@i8|K6['Y'@$Y

lTy9L/@ [attach]952[/attach]
.gu\$P^i6D
^;_Q[ S 而之后添加的overflow:hidden则可以使内容太长(例如图片)的部份自动被隐藏。通常我们会看到一些网页在载入时,由于图片太大,导致布局被撑开,直到页面下载完成才恢复正常,通过添加overflow:hidden就可以解决这个问题。
i5N+_W0U!Rg
xV ? k@-N   CSS中每一个属性运用得当,就可以解决许多问题,或许它们与你在布局的页并没有太大的关系,但是你必须知道这些属性的作用,在遇到难题的时候,可以尝试使用这些属性去解决问题。

乌兰居士 发表于 2007-5-20 00:19

太小气了啊,想复制一下,居然有干扰码

阿喀琉斯 发表于 2007-5-23 16:53

小乌乌,,用采集嘛...嘿嘿..我都从你那里采集好些了.

页: [1]

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