返回列表 回复 发帖

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

四、页面制作(1)----用好border和clear
1 X6 C# |& @+ k0 ]- A) z9 i! ~; H9 L/ O# X- d) J! x
  由于找工作找房子的原因,隔了这么久才能开始写教程,心里感觉很对不起一直在关注本站的朋友,今天是找到房子的第二天,于是赶快继续写教程。
* A+ Y. r# I# o0 y' b6 \8 ~2 w0 R/ N: @  C# n
  这一节里面,主要就是想告诉大家如何使用好border和clear这两个属性。
' w! U8 c  G, ~! X
9 ]7 i: r' W' _& z; d: m( Z: U  首先,如果你曾用过table制作网页,你就应该知道,如果要在表格中绘制一条虚线该如何做,那需要制作一个很小的图片来填充,其实我们还有更简单的办法,只要在<td></td>中加入这么一段就可以了,你可以试试:
9 n5 Z( ^+ g5 k! `# j  <div style="border-bottom:1px dashed #ccc"></div>9 n* Y& c" Y" S7 _6 n" t0 B
+ p1 P- C1 l9 R9 W8 Z) O
  大家可以再次参考手册,然后你就能明白dashed、solid、dotted...等的作用,利用它们你可以制作出许多效果来,实线、虚线、双线、阴影线等等。  Y$ _& J  D" C; a' [: b+ s; q
程序代码' J0 ?$ u5 c9 Y/ B
<div id="banner"></div>
4 B+ Y4 X4 V' P. `  以上代码便可以实现设计草图中的banner,在css.css中加入以下样式:, O! g! U8 v% Z7 G: l
程序代码
  f* m. Q( Y& F* ?% f#banner {
5 c. ]6 D. _0 z& Z  W    background:url(banner.jpg) 0 30px no-repeat; /*加入背景图片*/
7 s6 G+ c% T0 N! z3 b/ F4 S; F    width:730px; /*设定层的宽度*/
1 F) j& B; C+ ]! L: q    margin:auto; /*层居中*/1 O% W3 z; B: Z" z
    height:240px; /*设定高度*/
) W9 u  P1 _5 D$ S7 |    border-bottom:5px solid #EFEFEF; /*画一条浅灰色实线*/
/ H0 ^& A$ ]/ o- x. q2 p    clear:both /*清除浮动*/% k5 J/ b0 u* }. C
}% |4 p- ]' y; H9 \. ^( ?3 @, i
  通过border很容易就绘制出一条实线了,并且减少了图片下载所占用的网络资源,使得页面载入速度变得更快。
9 t' \! A- C; Y7 \, y# `( k$ W' J' G7 f1 [' y( P
  另一个要说明的就是clear:both,表示清除左、右所有的浮动,在接下来的布局中我们还会用这个属性:clear:left/right。在这里添加clear:both是由于之前的ul、li元素设置了浮动,如果不清除则会影响banner层位置的设定。
, ~( {  A1 h; O( M' w) K# Y程序代码
, F4 c, }1 \9 S# i# i5 `( I<div id="pagebody"><!--页面主体-->
* c! Y1 q, i* v. e    <div id="sidebar"><!--侧边栏-->
1 x( U/ Q7 B# N" c    </div>; F; k0 e8 L6 T  t" L
    <div id="mainbody"><!--主体内容-->
1 c+ G& |( B7 ?    </div>) @5 h6 m7 e& U( }& c
</div>. F; e* S$ ]8 I; I! \1 u
  以上是页面主体部分,我们在css.css中添加以下样式:1 r( r" V" p+ S4 W; o' S/ N
程序代码
+ G# m2 ]4 w9 y" q# `#pagebody {
: N( \: F$ R/ b+ X4 w) q    width:730px; /*设定宽度*/5 f3 W/ R4 s3 L; A9 T. ^3 [7 l
    margin:8px auto; /*居中*/
$ l! k1 x% Z: O0 {7 b5 ^}3 ~  w4 j7 Z1 x3 c! R# ?
#sidebar {! ^7 ]: E  j8 X0 f
    width:160px; /*设定宽度*/
; B# s9 [- B* P. d; F/ z0 Z    text-align:left; /*文字左对齐*/
  d: ]  M' a9 d    float:left; /*浮动居左*/
6 Z2 F5 J) L) U% t9 {, E% W    clear:left; /*不允许左侧存在浮动*/$ T6 B3 K6 l7 v' u: q
    overflow:hidden; /*超出宽度部分隐藏*/
  C) k8 F& Z% v7 Z}; F# b+ E( D! ^6 b; A8 }
#mainbody {4 U/ K- p7 j: {
    width:570px;2 \" p4 h) [  `: T
    text-align:left;! M" P' g3 m* y4 U/ s' Z; a
    float:right; /*浮动居右*/# `1 K7 f! l/ B' o- s3 g
    clear:right; /*不允许右侧存在浮动*/
- r* r7 Q) G7 B4 N. M) \8 y* c' a    overflow:hidden% i. }" H& y3 B9 j4 T0 b6 Y
}, @" @! g3 N. \5 f
  为了可以查看到效果,建议在#sidebar和#mainbody中加入以下代码,预览完成后可以删除这段代码:' w# V  Q. ?* B. ]
程序代码: P! l+ Z& |  H$ \+ S' S; V7 d
border:1px solid #E00;
; b1 ], Y* J( x- E: o8 o0 X3 |height:200px
6 e+ \( F6 a7 R  保存预览效果,可以发现这两个层完美的浮动,在达到了我们布局的要求,而两个层的实际宽度应该160+2(border)+570+2=734px,已经超出了父层的宽度,由于clear的原因,这两个层才不会出现错位的情况,这样可以使我们布局的页面不会因为内容太长(例如图片)而导致错位。
% }/ Z. [  I+ S2 q# a% o
5 D% J0 A4 y! A8 v- ~
' _0 _. c2 j5 N
1 h* [6 F7 ~+ `8 p而之后添加的overflow:hidden则可以使内容太长(例如图片)的部份自动被隐藏。通常我们会看到一些网页在载入时,由于图片太大,导致布局被撑开,直到页面下载完成才恢复正常,通过添加overflow:hidden就可以解决这个问题。
& u! P# ^/ ^% ^2 |+ Y7 R" t8 s7 x
7 d$ H9 y: r% L; X. `: N  CSS中每一个属性运用得当,就可以解决许多问题,或许它们与你在布局的页并没有太大的关系,但是你必须知道这些属性的作用,在遇到难题的时候,可以尝试使用这些属性去解决问题。
附件: 您所在的用户组无法下载或查看附件
怨去吹箫,狂来说剑,两样销魂味。
太小气了啊,想复制一下,居然有干扰码
鄙人的芝麻小站关了...
小乌乌,,用采集嘛...嘿嘿..我都从你那里采集好些了.
怨去吹箫,狂来说剑,两样销魂味。
返回列表