|
|
CSS是Cascading Style Sheets(层叠样式表)的缩写。是一种对web文档添加样式的简单机制,属于表现层的布局语言。
% D) o& q0 i Q% B2 B7 P% c( \" [4 O
1.基本语法规范* V3 R4 v1 r7 o3 T) u9 f3 w$ q; ]; Z
分析一个典型CSS的语句:( T8 S2 Q! t I1 F7 O. _) Z' ?' o5 g
p {COLOR:#FF0000;BACKGROUND:#FFFFFF} , ^" M" F( U" @) H+ Z F5 z
其中"p"我们称为"选择器"(selectors),指明我们要给"p"定义样式;
1 @( A) k+ i- r; }7 A样式声明写在一对大括号"{}"中;
7 v0 t1 P2 r5 JCOLOR和BACKGROUND称为"属性"(property),不同属性之间用分号";"分隔; 2 M6 [# C3 }0 C: y+ F9 x
"#FF0000"和"#FFFFFF"是属性的值(value)。+ \4 D& j+ }: S5 ]
( l: Y5 P, J; h( S% H& y0 X0 I
2.颜色值
# Y/ K! t+ P0 H2 O; R$ r6 E: |8 U. @3 q* j2 W
颜色值可以用RGB值写,例如:
/ F2 W0 B. B K8 d& m0 p! x+ O1 D" }# D' F/ B+ G% u
G6 ~# E4 B3 e/ z,也可以用十六进制写,就象上面例子
" D! _; t* j/ J. k7 L* C' j. S
9 ?8 f5 `, D4 c% g3 J. u0 b, A; b
7 {6 J$ \5 ]# s: x6 V3 b如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。
/ M1 b. C; w2 L% k( \4 e9 L
) y% e5 W4 x+ F$ q3.定义字体" J- @7 O, _7 [/ G5 f
web标准推荐如下字体定义方法0 R. f w0 E# V l
* e3 L5 z* \1 C7 z
body { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; } . k1 V) t y/ V4 I
字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,;
C0 n. |6 o! a3 S6 `) gLucida Grande字体适合Mac OS X; 2 T" v8 E& L. O" E) B1 p
Verdana字体适合所有的Windows系统;
( Q d; x2 O9 K- q3 t3 l0 G6 M8 BLucida适合UNIX用户
% m7 I ^- P9 |5 M+ p+ X) W7 @3 O"宋体"适合中文简体用户;
8 X3 ?5 a1 @% _% y& ]* b+ V如果所列出的字体都不能用,则默认的sans-serif字体能保证调用;
2 t; f& S& |5 b9 i, d
( i8 D$ |) _& Z4.群选择器
, t2 P P9 k, i: ^" ~
9 \* ?) S F! k. [5 A当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,:
& ]: G, B2 o9 c9 ?. x+ {8 g2 ~0 u `: I$ A) s/ i, B
p, td, li { font-size : 12px ; }
B( z F. ~7 R% L就是给li下面的子元素strong定义一个斜体不加粗的样式
( Z$ M9 u! {- Q' X
8 t P( m1 \1 u6 W( v6.id选择器
4 m/ g$ I; t0 ^6 `
n$ ~- X) t/ I6 a( S* R l8 A用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层
, S3 y9 P7 ]9 o H: ?7 O6 g/ o+ f# @! m ?/ D* M3 Y+ k
8 D4 W9 M8 L3 j$ b0 |然后在样式表里这样定义:, W$ F# p/ W& W% R" C$ j0 T6 n- p' J
: S: \2 |: x8 r# A' U! a- t( Q
4 S7 e1 T _1 A: e$ u: `3 r#menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;} ( {: L0 d. J! U1 R7 f% H
其中"menubar"是你自己定义的id名称。注意在前面加"#"号。
% U+ R, w2 l, t: X: ~- g) ?# G$ H* G- Z1 X
id选择器也同样支持派生,例如:/ P a. w$ G+ ?8 z8 p! L
#menubar p { text-align : right; margin-top : 10px; }
% u' u( X" O# T2 H0 s& {这个方法主要用来定义层和那些比较复杂,有多个派生的元素。
E, k5 m( w I! H; b9 j& \: G/ P1 s, o! F: H& Y9 Q$ a2 \8 U
6.类别选择器2 ^4 l& V0 o; ^3 g1 K) d
, f1 H% K3 F4 F! P& D4 s# c
在CSS里用一个点开头表示类别选择器定义,例如:# O# G0 G P4 u- d# p; }
.14px {color : #f60 ;font-size:14px ;}
' B5 }: n* A' u6 w+ `5 ?# x9 c/ n4 l# f$ J, C& W- h8 V
在页面中,用class="类别名"的方法调用:" B3 k2 n7 T5 @7 K9 M* G/ H
<span class="14px">14px大小的字体</span> ( F; x; ?8 s g4 K$ v6 |+ e a
2 p! w, j( {9 Z( _' ~) ]
这个方法比较简单灵活,可以随时根据页面需要新建和删除。/ K9 u8 S9 K% S" m8 }7 s
; u) T: B- Y! j) }- @
7.定义链接的样式
' B8 t+ R2 x' x1 `! ^! y" \CSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:
& y1 K9 K6 f0 n/ P9 K& N, Va:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}
5 d9 r! F" v5 U& V* D: Z) ha:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}9 |5 Q' h+ u5 q" q. {& t
a:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}% c( a) f0 a$ \. L- S
a:active {font-weight : bold ;text-decoration : none ;color : #90 ;} * P' c; u& N, P9 R. g- [
0 B% r% u: ]- o$ ~
以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。 |
|