|
|
CSS是Cascading Style Sheets(层叠样式表)的缩写。是一种对web文档添加样式的简单机制,属于表现层的布局语言。
; W6 J9 z9 V: ]6 Y" c# j1 z; Z% i+ ~4 x: M4 } l
1.基本语法规范
0 T7 B8 F& F2 J% w分析一个典型CSS的语句:
9 z7 v/ l1 y8 N# W% S! Tp {COLOR:#FF0000;BACKGROUND:#FFFFFF} 6 |5 t3 G1 r- w$ i$ c# O5 T0 L. s; r
其中"p"我们称为"选择器"(selectors),指明我们要给"p"定义样式;
! G' B: g% L0 V+ V样式声明写在一对大括号"{}"中; . H& Y& [; R4 F
COLOR和BACKGROUND称为"属性"(property),不同属性之间用分号";"分隔; & T7 w% J! [& _# F- S
"#FF0000"和"#FFFFFF"是属性的值(value)。
- @; X: a' {' n1 |1 n! Z; ^" o" w$ J" q& g r3 g
2.颜色值
6 A- W1 s, i* _! m& q; C' Y5 h/ K* u
/ B1 A2 d, Y% I' q0 P- f颜色值可以用RGB值写,例如:5 d& S. @/ X: P' ^# t; o
! X, Y( S, s9 |2 A# B' D
% D+ t: j h& y,也可以用十六进制写,就象上面例子, Z _% ?/ m7 R5 |/ t4 {
% {+ e% S/ k) R1 ?/ ^, H( _6 t
$ g) C7 D2 {+ `" ], Z如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。# |# y. o A# M. |5 c2 F
4 K) ]# I0 I, s4 T# s
3.定义字体6 ~1 I* `( E. R6 z. N3 `4 J' f
web标准推荐如下字体定义方法1 T' m2 S8 V1 D2 @% \& ]( S, v
) B& x1 u* q; ^
body { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; }
- ~6 E1 t: U# H/ W( m字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,; # M: r: R' |1 v& ~! d; n. X
Lucida Grande字体适合Mac OS X; + ^) b; N/ e: c: o- m( F0 g! e' i
Verdana字体适合所有的Windows系统; 5 `5 ^% f% K" V6 {4 G; w. r
Lucida适合UNIX用户 # ]9 p# k0 h$ v+ C l" s9 ]) O* E
"宋体"适合中文简体用户;
: Z2 a7 Q/ c# O- \6 N如果所列出的字体都不能用,则默认的sans-serif字体能保证调用;
# F5 T' H; a% Q& a6 o S+ C
" L6 a* s! Y/ X( t% X v: U: M4.群选择器
' S6 e3 @: P& _2 T# ?4 H: }" p: e% e# B& [
当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,:
% h+ r0 O) c/ ~5 d Y6 @! b. L+ ^
p, td, li { font-size : 12px ; } ) s1 R5 q, F% {3 u) t9 x% A* N
就是给li下面的子元素strong定义一个斜体不加粗的样式
5 ]8 I# A# W2 e4 k' K0 j1 _' x" x, {4 U: S& e
6.id选择器0 g- s" H+ r& M: C$ a: f X
; p2 m/ A) ^* @2 ?3 i7 ?
用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层
" H4 Q9 W# R& F% K* A, A
* F6 ~7 x+ B# G6 f
# |5 e+ Z1 E6 C6 v然后在样式表里这样定义:
5 U4 m+ j( B8 I: V0 t: J4 o6 E
6 t: {. p. a9 e& H6 V#menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;}
; U- a5 y8 u$ m; E' c& a其中"menubar"是你自己定义的id名称。注意在前面加"#"号。
6 m: R W: p8 [- Z w
7 b7 ^1 @! ?8 x& l9 bid选择器也同样支持派生,例如:
: n* `( K9 k0 B( w4 L L#menubar p { text-align : right; margin-top : 10px; }
+ ~% S5 X; T6 j; l这个方法主要用来定义层和那些比较复杂,有多个派生的元素。$ Q, z, v8 `0 I' l0 r K! y7 K
& b/ g7 J8 L. Q/ w" F u1 t6.类别选择器
& A! l9 o# \# j O* q% ? E/ l+ Q' q! }% E! d2 a# ?3 _
在CSS里用一个点开头表示类别选择器定义,例如:
6 I Z& D/ ?9 u0 f0 |1 F.14px {color : #f60 ;font-size:14px ;} - W% v) k/ R9 v6 h. Q
; q/ p8 T$ \3 @% C2 j在页面中,用class="类别名"的方法调用:6 Z6 l7 b) \! {1 q ^
<span class="14px">14px大小的字体</span>
# y0 N5 x! ^9 P* |* Q7 @7 I0 s/ y
这个方法比较简单灵活,可以随时根据页面需要新建和删除。5 J( w' s: C: j( s% w. |
, i2 P) z; q8 x8 C
7.定义链接的样式
, v3 N; B @5 Y, w* BCSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:
$ C( {* O, q9 a: M) O/ `* oa:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}
0 W* n" p3 i' O2 w, Ma:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}0 r# e9 C+ ?; |8 X7 l! ^9 z2 i
a:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}
1 R% ^7 W, }4 [5 g) g. Fa:active {font-weight : bold ;text-decoration : none ;color : #90 ;}
1 |# n7 w0 A6 T- x8 i; n3 c4 x5 v) X# | m2 d
以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。 |
|