返回列表 回复 发帖

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

四、页面制作(1)----用好border和clear
) ]& x! T8 U+ w- |  X1 ~$ X1 i* J/ U0 ~3 |4 ~
  由于找工作找房子的原因,隔了这么久才能开始写教程,心里感觉很对不起一直在关注本站的朋友,今天是找到房子的第二天,于是赶快继续写教程。. R+ }8 u  j3 C0 C4 ~6 H
# z0 c- D4 H0 g# r0 j1 x( m
  这一节里面,主要就是想告诉大家如何使用好border和clear这两个属性。
/ p) f/ {+ ?- L! }: `# j5 }6 [% Z  u# ^5 P- u4 d; b$ B
  首先,如果你曾用过table制作网页,你就应该知道,如果要在表格中绘制一条虚线该如何做,那需要制作一个很小的图片来填充,其实我们还有更简单的办法,只要在<td></td>中加入这么一段就可以了,你可以试试:
! n: v0 [- e1 [  <div style="border-bottom:1px dashed #ccc"></div>
! S  f6 L0 x9 t6 o( f" H4 c/ o% \* A9 J5 N
  大家可以再次参考手册,然后你就能明白dashed、solid、dotted...等的作用,利用它们你可以制作出许多效果来,实线、虚线、双线、阴影线等等。
4 n) d& J+ |9 t9 u1 a程序代码
3 r3 t. R9 @# O  T2 ^' ?7 e<div id="banner"></div>5 Y0 K' f# Z6 f! M
  以上代码便可以实现设计草图中的banner,在css.css中加入以下样式:+ n7 i3 h$ \% J  l- z
程序代码7 l7 J! H8 e3 }# r2 j
#banner {
9 P# S' ?1 s' u+ G& h/ k9 A$ u    background:url(banner.jpg) 0 30px no-repeat; /*加入背景图片*/  O/ F6 n3 M. f
    width:730px; /*设定层的宽度*/6 \0 Y' u$ i7 f- n- ]& r9 b6 g
    margin:auto; /*层居中*/
4 Y+ s& x; c7 m3 [0 z* ]( p    height:240px; /*设定高度*// D4 u; f3 A- h! A- g' q
    border-bottom:5px solid #EFEFEF; /*画一条浅灰色实线*/% I2 f  g8 N/ C" d/ \% ^* X
    clear:both /*清除浮动*/+ g% d" X3 w* Y; G  D3 v* q
}& X  k7 p/ o& _. ]6 u. [' e: ]) N
  通过border很容易就绘制出一条实线了,并且减少了图片下载所占用的网络资源,使得页面载入速度变得更快。' Z4 r( T# e0 a- p6 ^
; x! C+ z1 I+ d$ ?% F$ J
  另一个要说明的就是clear:both,表示清除左、右所有的浮动,在接下来的布局中我们还会用这个属性:clear:left/right。在这里添加clear:both是由于之前的ul、li元素设置了浮动,如果不清除则会影响banner层位置的设定。
6 [/ a1 |7 Y) Y7 w$ c$ Y程序代码1 E8 [# P# G, s  w% W, H
<div id="pagebody"><!--页面主体-->
2 y+ r$ X" ~% ]0 |) _7 x* }4 G    <div id="sidebar"><!--侧边栏-->
: q; |' j% J8 C1 A' s9 N# i: v    </div>
( N- Z3 A6 R6 M    <div id="mainbody"><!--主体内容-->* g' |0 g  u. S$ @* @- o+ V
    </div>" H2 e# y4 P3 o! F3 m0 I1 t9 g
</div>
9 {. \9 L; N9 X5 A( K( T  以上是页面主体部分,我们在css.css中添加以下样式:
3 J8 c# E* I3 g7 A程序代码* M8 N7 R+ _- U6 I: n/ _' V- R) h
#pagebody {
& j0 f/ c. k) K# C+ r    width:730px; /*设定宽度*/
5 y+ \" G* x4 N    margin:8px auto; /*居中*/( ~; z# r9 s  z& a- a5 N
}
7 @' \1 k+ Z( g) ^#sidebar {
% A% H# O: g% G+ ?5 E    width:160px; /*设定宽度*/
* J$ t- W; T# ^! O+ v* @    text-align:left; /*文字左对齐*/+ C: A, M1 s' c' O+ F
    float:left; /*浮动居左*/& O1 J) a- i& h" v) |3 d
    clear:left; /*不允许左侧存在浮动*/
# B( v% i2 ~) Y7 K    overflow:hidden; /*超出宽度部分隐藏*/
/ ]! @8 g/ n1 @% M  w8 K. S}
( B4 @" j; W1 t- E3 \; l2 b: T#mainbody {- w8 j& S& I8 n! l, Q
    width:570px;
! M# V# c' X& I    text-align:left;
! A) Z" u7 {; m5 }    float:right; /*浮动居右*// W. y/ r4 o3 \, ]
    clear:right; /*不允许右侧存在浮动*/
7 B4 d5 M( X( ^9 `3 S    overflow:hidden" m, l, C" x) }
}3 ~$ [. f, \& R  L* U
  为了可以查看到效果,建议在#sidebar和#mainbody中加入以下代码,预览完成后可以删除这段代码:
/ L" j6 |, r6 \& Q  K: Z( @( ^程序代码
( z9 T# S# a+ n! ^border:1px solid #E00;
& y8 J( Q. t( I# R# A$ p+ [height:200px. w" Y: F, f8 r& U2 `$ K
  保存预览效果,可以发现这两个层完美的浮动,在达到了我们布局的要求,而两个层的实际宽度应该160+2(border)+570+2=734px,已经超出了父层的宽度,由于clear的原因,这两个层才不会出现错位的情况,这样可以使我们布局的页面不会因为内容太长(例如图片)而导致错位。, t& G  D" |& q' p! p9 y8 [& {7 u/ H
/ k# M0 m0 c& v3 z9 y" [, l
- N: f7 e9 B$ H. M5 R" G7 m8 ]
- ]; c0 n- z& W3 I" h* k
而之后添加的overflow:hidden则可以使内容太长(例如图片)的部份自动被隐藏。通常我们会看到一些网页在载入时,由于图片太大,导致布局被撑开,直到页面下载完成才恢复正常,通过添加overflow:hidden就可以解决这个问题。
9 L2 `% \* R  p5 y, G) m
2 u% W% |" B- `  CSS中每一个属性运用得当,就可以解决许多问题,或许它们与你在布局的页并没有太大的关系,但是你必须知道这些属性的作用,在遇到难题的时候,可以尝试使用这些属性去解决问题。
附件: 您所在的用户组无法下载或查看附件
怨去吹箫,狂来说剑,两样销魂味。
太小气了啊,想复制一下,居然有干扰码
鄙人的芝麻小站关了...
小乌乌,,用采集嘛...嘿嘿..我都从你那里采集好些了.
怨去吹箫,狂来说剑,两样销魂味。
返回列表