|
|
CSS是Cascading Style Sheets(层叠样式表)的缩写。是一种对web文档添加样式的简单机制,属于表现层的布局语言。( }9 P+ V/ b; V& l5 y- o" Y3 Z
9 c) b6 j9 W$ ^5 I: F
1.基本语法规范
/ M. O$ u- f" z5 n8 \( ?' y3 t分析一个典型CSS的语句:( P% f5 G* r) H2 J2 J
p {COLOR:#FF0000;BACKGROUND:#FFFFFF}
4 x, S5 q; ^6 U& o( x: i其中"p"我们称为"选择器"(selectors),指明我们要给"p"定义样式; 9 P% h/ }$ q) J4 ^0 \, u
样式声明写在一对大括号"{}"中;
6 P# W) M8 G1 {' \COLOR和BACKGROUND称为"属性"(property),不同属性之间用分号";"分隔;
; Q; V& b1 m9 m3 l& T" i+ c"#FF0000"和"#FFFFFF"是属性的值(value)。
- W% k K5 D$ ^) N5 @
; V2 M4 }6 M1 n0 Q/ X; _4 E5 g2.颜色值
% T: g2 g7 k8 q- r' p l% Z5 Y5 }) ~1 D3 f2 a9 s3 _9 m; C& x
颜色值可以用RGB值写,例如:
9 I7 J" E: R/ U8 I' ]
" |8 e) b- f# s$ v2 H c
/ X) I' S5 E% O4 k: `: d,也可以用十六进制写,就象上面例子7 Y6 I$ n! y0 d' U0 H. Y2 ]
' Q z/ \1 `3 y/ z% i
5 d- A+ C4 U n
如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。
8 r8 q- w' t7 w* ^' p* G: Z1 A& k& K3 e+ D6 C, ^, m+ {
3.定义字体7 F; k0 n6 q4 ?8 |; i
web标准推荐如下字体定义方法 ^# E5 o: `' k7 `( q- J$ u7 h
2 w _8 S) F% x% O7 @5 `body { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; } 7 b, h0 u. n7 Y1 E6 X
字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,; / k& |: T% t! y {
Lucida Grande字体适合Mac OS X; 7 I n" ]# H% X @) [
Verdana字体适合所有的Windows系统; 5 S/ ]" ]& A# \. p( ^7 ?3 c
Lucida适合UNIX用户 7 O3 j) C2 k, g n# R: X# x) Q
"宋体"适合中文简体用户; ) o s2 P; v6 H* Z5 e* ^6 q2 V# N
如果所列出的字体都不能用,则默认的sans-serif字体能保证调用;# [, e1 w* S ^
( S. s! Z3 I' u# z4.群选择器
K w1 D/ w% f' u; ~5 V6 e3 V& b, \& s3 i+ [ ?
当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,:" ~5 J4 k5 ]9 w B, }! q9 G, c# D1 h
' H- T7 _. A, f' u4 ^! e p, td, li { font-size : 12px ; } L( }/ k8 W: G6 b Z
就是给li下面的子元素strong定义一个斜体不加粗的样式* C+ E( z4 W, W d% i7 w' D3 h, B
v. N; J& H$ E( Q* O
6.id选择器0 p' d S# K. ~( h/ ]* l9 C/ X
$ ?& J8 t+ i+ [6 ]' ]用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层# n# {8 Z5 c7 q: l/ w, n
, I9 \3 B/ {. l, r6 P5 r( z% h
然后在样式表里这样定义:
- q" Q, Z" x0 S6 X6 ^9 H0 S( c) W1 U/ H# _( [+ I; K1 v9 o# m
) y) T, Y4 V. U7 p#menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;} . m X1 Q* C' X1 q/ x
其中"menubar"是你自己定义的id名称。注意在前面加"#"号。0 C7 D% A% `: k
' h0 C6 ?8 u% M0 `2 b- [) mid选择器也同样支持派生,例如:
0 A W0 P0 G( W! r& B9 G+ N0 h#menubar p { text-align : right; margin-top : 10px; } ' W) F5 t2 `1 P( f9 ?
这个方法主要用来定义层和那些比较复杂,有多个派生的元素。" c% I2 Z6 K; ?
' f; R3 a# ^8 x" H; A8 [9 q6.类别选择器
# d# U" [+ q& W T, e
2 L: ~& h5 S0 F2 J/ H0 H5 I在CSS里用一个点开头表示类别选择器定义,例如:
7 [ f, V: \5 u0 D# B.14px {color : #f60 ;font-size:14px ;} 7 q! w M" z. j: N/ e, a
8 x6 q3 {) N$ g0 G4 y- N- ~在页面中,用class="类别名"的方法调用:
, V' [2 L% B5 s8 `4 g/ T0 a5 w<span class="14px">14px大小的字体</span>
- r2 e: q! ?2 @) K( F" y$ k: e
. r$ a* v P2 a* O3 T: }1 m这个方法比较简单灵活,可以随时根据页面需要新建和删除。
% S/ _6 R6 ?2 V- [
% b, J) N, M& I2 B: q' s& m7.定义链接的样式) _& w0 b- `8 }3 X" i3 Y+ p. S
CSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:
2 q+ K8 s- J. z5 x" z& R- Ra:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}+ h% d& B6 T6 y; d
a:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}
1 h, n" W) `( la:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}
$ T# q; ~/ v! c2 M# { [1 o/ fa:active {font-weight : bold ;text-decoration : none ;color : #90 ;}
5 I/ C4 ~# e" \2 Y
( ^. J2 N7 j( h1 @% n6 D. ?3 _以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。 |
|