|
|
CSS是Cascading Style Sheets(层叠样式表)的缩写。是一种对web文档添加样式的简单机制,属于表现层的布局语言。
& Y* H: F$ X' Z$ n
: I" l" O2 g7 U- k/ A1.基本语法规范
( p( A1 o3 G, E. s& ~分析一个典型CSS的语句:
0 }$ {1 p* G0 g6 s+ Cp {COLOR:#FF0000;BACKGROUND:#FFFFFF} 3 a+ u7 }; e% I# ]2 `" h
其中"p"我们称为"选择器"(selectors),指明我们要给"p"定义样式; 3 N# z+ o( w5 G& ?& D2 v1 X
样式声明写在一对大括号"{}"中; 3 f6 c f; A( R( h. g3 O
COLOR和BACKGROUND称为"属性"(property),不同属性之间用分号";"分隔;
7 J2 C5 w! w3 J Q' R"#FF0000"和"#FFFFFF"是属性的值(value)。
/ ~: h! R9 a7 H Y! y2 ]
0 A! E4 h, H2 { V; f2.颜色值
& d/ K4 O* v, L# X$ _# r, l6 V. s4 j8 z) N* M) [6 m7 a# I7 E: }8 |: B
颜色值可以用RGB值写,例如:
1 ^1 E" V5 x* H0 `8 R% L8 o, Q
1 {+ v5 ^9 ]" y! k% [
{% _0 v+ o* d,也可以用十六进制写,就象上面例子
$ }" @) e) ~ G/ S+ E
: {5 C2 P) S8 M( s, K) g- ~& }+ u1 | p# n6 @9 p# ^
如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。: e# i8 P- {9 ^) \5 f& L
' a* ^" h) @6 x" t: w: y3.定义字体
, P# C$ \, w+ B7 j3 B/ `" bweb标准推荐如下字体定义方法
) ]/ ?- z w1 q1 E, `! F5 b
9 S. [7 W/ N% kbody { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; } / a! L4 E& p* G. E
字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,; . h6 P* p* T; W5 T" A) W8 M
Lucida Grande字体适合Mac OS X; ! W! r7 c3 ]& `! U+ _' V3 C
Verdana字体适合所有的Windows系统; ; _ Q) l) n: j- z
Lucida适合UNIX用户 . H; P! r5 i% m
"宋体"适合中文简体用户; 3 t) j8 r5 i' t1 x
如果所列出的字体都不能用,则默认的sans-serif字体能保证调用;
6 ~2 R9 ]3 C7 |, S# Y ^ @5 D7 P: ]* S" g7 e& W3 T- U: g
4.群选择器/ w2 u5 ~7 Q, |/ g- [% Q5 a
: r' ^# H4 O* v5 _4 D4 Q0 _+ {当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,:, j% k' u2 @5 d/ Z
( ~8 Z% `! X( ]( t p, td, li { font-size : 12px ; } 3 k+ M' k8 c h/ a( d) B. `: Z' m
就是给li下面的子元素strong定义一个斜体不加粗的样式
- k# E$ v& c0 i8 J9 U6 B% C& {3 l" T, r1 J; z
6.id选择器7 w( K( D2 c! w0 x5 q6 v
+ L3 b- R+ W9 y7 s8 Q# K
用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层
/ Z4 P6 D; f1 [( R, {+ T" Y* X/ Y9 B3 a( [5 ^ X- D
; m" m; Z2 X9 W然后在样式表里这样定义:; q4 e# b2 j; f( N3 T+ {
) Q3 K9 V. ] y6 j& g- Q$ E. x" z# j6 k
#menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;}
3 ^' w4 P# E: r$ m1 Q [, |其中"menubar"是你自己定义的id名称。注意在前面加"#"号。; _/ u: C6 V6 a7 a/ l7 l
9 \2 I2 |+ v( w* j7 i- j. Tid选择器也同样支持派生,例如:9 z. a1 i7 [/ V; m4 z" |# h& I$ |
#menubar p { text-align : right; margin-top : 10px; }
& H1 Q) a' \) A. N+ X, s5 h这个方法主要用来定义层和那些比较复杂,有多个派生的元素。
, i e6 I0 r, e" j, E5 n& ?0 p5 Q; U% q& ]2 C' c) y, A; ^
6.类别选择器
% t7 W7 K8 {& `- z7 Y" b0 M, U; t0 W2 J. |- X$ q7 J, _3 R
在CSS里用一个点开头表示类别选择器定义,例如:
2 E n8 F9 S& u8 N* }! a.14px {color : #f60 ;font-size:14px ;} & k0 S4 Q- W7 ~6 f K
0 d: W2 {& h) q7 n
在页面中,用class="类别名"的方法调用:9 g; e! r( P1 }& p' C$ t
<span class="14px">14px大小的字体</span> [$ E3 F a) Q' D; j3 Y
4 q7 U5 {" T' y, k: `* `
这个方法比较简单灵活,可以随时根据页面需要新建和删除。: P" K' j4 e; Z: j$ j! x3 _- E
& B F# }2 K' Y+ X6 a7 a: h* u: P7.定义链接的样式
! Y9 |* ~4 H0 p6 N& F% x% f: kCSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:
3 o& c. [7 a/ C6 ha:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}
* U$ L5 j8 r7 I. M) aa:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}- }' H) A0 w8 V5 N/ d
a:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}
. |) }7 D2 _0 x; r1 Z' c qa:active {font-weight : bold ;text-decoration : none ;color : #90 ;}
- x& h- X/ j& `* G6 r1 d, _( ?7 N# e, W: j T8 p
以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。 |
|