|
|
CSS是Cascading Style Sheets(层叠样式表)的缩写。是一种对web文档添加样式的简单机制,属于表现层的布局语言。" S6 |7 h5 y7 K" @
# V" P0 R5 s/ O' m- C; n6 O
1.基本语法规范; b4 E0 D/ I6 m4 W( t+ G$ M3 @
分析一个典型CSS的语句:
$ S/ h. G. O6 P& [% b5 mp {COLOR:#FF0000;BACKGROUND:#FFFFFF}
p/ F/ j1 t! P# ^/ y; W8 o6 x其中"p"我们称为"选择器"(selectors),指明我们要给"p"定义样式;
/ p/ I/ c+ ]) {! G样式声明写在一对大括号"{}"中; * K+ F4 o/ J) z6 B& t9 T3 I/ m/ G
COLOR和BACKGROUND称为"属性"(property),不同属性之间用分号";"分隔;
4 B/ y! S, l7 y! ^; ^5 H& i"#FF0000"和"#FFFFFF"是属性的值(value)。" Z; x8 u( O% @6 R& I) b3 U. T! m' }
+ Z# e, U0 z; ~) h0 a2.颜色值
4 J* \5 O& u; o" [. `
1 r6 p* Y6 b7 w& D4 `9 z5 a: @颜色值可以用RGB值写,例如:
: r7 V4 ~3 I- h" J, n
1 V; G. F* q5 y$ Q- Z- r+ J0 V9 W% Y7 \7 F" g9 U4 P8 n
,也可以用十六进制写,就象上面例子* O- A2 a% Y: q0 {+ G, p
! v+ B& x7 x% R1 P* U7 F6 y( H, l4 u8 U6 f
如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。" A7 }. V3 r( b& C: A* g0 u+ U; n- H
4 x) O Z# i! b" m ^, e' s" M
3.定义字体# ?# v/ @7 _" B: H! M+ D
web标准推荐如下字体定义方法
0 Y. V. p: W4 V( T* j% D& t m: U* F5 F# W* j' l7 |: ]" e/ H
body { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; } % S/ T1 a' \& P$ ?( m: s3 J" J
字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,;
8 b5 r" C" n6 SLucida Grande字体适合Mac OS X;
. A) p1 D: K, h: YVerdana字体适合所有的Windows系统;
& ?/ Y' c1 [# ~# l+ v+ Y! LLucida适合UNIX用户 & O; H, C, S2 k7 z- ?3 c2 a. t
"宋体"适合中文简体用户; ' G' O& e+ q" m- y2 D0 @
如果所列出的字体都不能用,则默认的sans-serif字体能保证调用;/ a" I( Y$ ?5 U. ^/ ?6 @ E
6 d9 h& h5 H4 [, A) c5 F/ J6 n
4.群选择器
# y% {" N/ L" d$ n. T' \: A' s2 z9 |9 Y: | z' o( ?; P
当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,:/ ?1 Z1 o# S0 D4 R0 \
8 r: `5 M' l e/ _+ w+ N3 J' p) B
p, td, li { font-size : 12px ; }
* C+ x- S% }1 B3 ]5 i+ F就是给li下面的子元素strong定义一个斜体不加粗的样式, [) F6 k/ r- ]0 c/ N
: u& P! Y% `; T/ Z. s
6.id选择器
7 A8 y' V5 P; d4 _2 m
6 U) V b% m& C! E( s用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层
, G" @- p8 R3 ^$ t
& u0 s1 _4 Z( H# V
4 }9 v/ u1 Y/ z" U然后在样式表里这样定义:
5 V+ i4 C- p( `! v7 j1 A
5 r+ G( u! X- w% }: }5 z0 @+ [7 @' {% g, ]% X7 K
#menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;}
( l* @4 c' B: J# Z其中"menubar"是你自己定义的id名称。注意在前面加"#"号。
r0 R) t- J/ W! K9 `# I8 J4 Y8 p) }. o" h6 }) u s
id选择器也同样支持派生,例如:
" Z: x! w$ j; g/ q5 D#menubar p { text-align : right; margin-top : 10px; }
" v6 h" L1 ^2 V$ p这个方法主要用来定义层和那些比较复杂,有多个派生的元素。1 K- k6 n& U5 r% v9 c, [1 C: s
f n( I/ ?1 E; B0 |" N6.类别选择器' Z7 _, H4 a! ?+ G: ~% S; D
# G4 D/ }. \* D7 e$ |) B
在CSS里用一个点开头表示类别选择器定义,例如:& v. O9 i2 J, I$ y* w @
.14px {color : #f60 ;font-size:14px ;}
- `: R$ L6 u+ ?: X) ^9 u! T k* }
o# D" N/ y/ e在页面中,用class="类别名"的方法调用:
7 y ^4 C" e. R I<span class="14px">14px大小的字体</span> / M+ a# p& j* r
4 H$ `* l7 c; V+ f. ^# V: g# r
这个方法比较简单灵活,可以随时根据页面需要新建和删除。
# ^; D$ X- ]7 y3 a, e; I5 ~( l; p1 R1 M* A P0 i- b
7.定义链接的样式
% R% z4 s7 W3 R6 `3 x( ^$ Z8 C; XCSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:
, V4 S$ X7 H; t& S- Y2 W1 ja:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}
" `5 I6 |$ S0 |" a* D) m" ba:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}6 Q# |! P5 q* S4 X! B% V: O3 m
a:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}
, l: D2 M' b& ?) n7 E* Ga:active {font-weight : bold ;text-decoration : none ;color : #90 ;}
! q; w; g5 A K' l6 m. R+ J7 K- d0 G' r X8 q# X, c8 e
以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。 |
|