|
|
CSS是Cascading Style Sheets(层叠样式表)的缩写。是一种对web文档添加样式的简单机制,属于表现层的布局语言。
$ b2 D) j5 i8 ^! ~2 `, R) _( U) T" N! q, q: o! ?
1.基本语法规范
' E# [* \2 t9 c h" Y分析一个典型CSS的语句:9 P% K) |1 \) C' z5 s! n% ^
p {COLOR:#FF0000;BACKGROUND:#FFFFFF}
: r. b5 |. x0 q其中"p"我们称为"选择器"(selectors),指明我们要给"p"定义样式; & e' e+ p! V7 Y) a ]
样式声明写在一对大括号"{}"中;
$ m/ q A$ b# s( d% `9 Y; R; UCOLOR和BACKGROUND称为"属性"(property),不同属性之间用分号";"分隔;
$ T8 p( Y5 y: k"#FF0000"和"#FFFFFF"是属性的值(value)。1 b5 s T5 o' v5 \& @6 \. A, R
2 I" b3 i. ~& @) s B, f9 }- q9 _0 \2.颜色值7 Y; a U f3 T
' \6 x+ x( c# L: ^- s: ~
颜色值可以用RGB值写,例如:
/ n) M! L' k" T- u( V" ]' U
* O7 v& U! r; ?0 E V+ S- }& o3 k; M0 V J3 z' t1 z8 I7 A
,也可以用十六进制写,就象上面例子
! m/ Y/ R7 ^& G) k5 W5 I. Z8 `& q. N8 K
, H: H/ k$ V D; L如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。
8 v0 Q8 ^5 }- Y* \2 m
& d1 w2 X+ o+ V2 V3.定义字体
, S7 w( S: ] V2 x1 A; cweb标准推荐如下字体定义方法
0 o, B2 J) C: U+ F
+ k( y' T6 D; {3 h' Ubody { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; }
7 G9 l m! A& ?9 G3 j) u/ y字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,; 9 K' c2 h! j; ~$ ^3 A
Lucida Grande字体适合Mac OS X; 9 M) e2 B2 ]% I! K3 C/ k' q
Verdana字体适合所有的Windows系统; ; R# h* Z- b/ N, B% f1 Y) G, ~- Z& l
Lucida适合UNIX用户
$ B3 l5 T# C9 z3 J& G"宋体"适合中文简体用户;
% `/ h5 }5 {3 D( F$ x: X& v1 c4 N如果所列出的字体都不能用,则默认的sans-serif字体能保证调用;
, [7 L. a' _3 {/ I4 J+ x& k5 B, w
4.群选择器
9 d$ w9 \4 `6 n3 c, t6 o4 B- K
W3 I) ]8 Z. W3 A. x& h当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,:
' V3 B/ m# P% N
4 l& I$ i8 {6 Z# h) i6 w1 B p, td, li { font-size : 12px ; }
) r; B! H* }) Y$ Z) Q* O就是给li下面的子元素strong定义一个斜体不加粗的样式0 s+ B3 `8 B7 i$ s4 v% _! V: @
- F' g+ m" T5 g5 o
6.id选择器" ]3 b1 l* |* d' \! [) V
$ ?) D! T0 |* m
用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层' [) _' W! S) ?# v4 i! I
0 `9 x$ g& W1 x& [5 F! _/ v4 r0 L
D) P3 E) P: u Z) x) M
然后在样式表里这样定义:
" V }( k, B+ q
, q& A" \# F4 @4 I- ~* @
) H# y$ r9 j+ g# t _#menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;} . v9 s# J+ [; O2 C- }- N
其中"menubar"是你自己定义的id名称。注意在前面加"#"号。8 }6 x9 Q: z: K& k
0 M- \/ a& p. `- J8 E9 W4 }1 p* i
id选择器也同样支持派生,例如:
& j/ `3 C5 u% P+ x) N#menubar p { text-align : right; margin-top : 10px; } 3 ]" f5 u# _) }4 g
这个方法主要用来定义层和那些比较复杂,有多个派生的元素。
2 l9 \) j. F* x+ l* A3 m- P
4 t) f9 e @, }9 {6.类别选择器2 w2 k: `0 u/ ~2 K% U+ @2 [
* B/ d0 B3 F9 v: B) u) N" ~
在CSS里用一个点开头表示类别选择器定义,例如:
" R. N6 G+ h' M/ p; [.14px {color : #f60 ;font-size:14px ;}
) U d* o6 a" o$ d; m$ O: c2 a7 M! v6 b
在页面中,用class="类别名"的方法调用:% u3 T4 y- o4 M
<span class="14px">14px大小的字体</span> 0 H4 p' f9 |* V) h$ ~
1 k( S. X. g, d这个方法比较简单灵活,可以随时根据页面需要新建和删除。
% Q. m, y+ U( w n9 ]! d3 y
8 `( j/ k) s: Z0 X/ T7.定义链接的样式# E# g, _ g2 @( I; ^% s! |
CSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:% x; I( d) F! o9 W, h1 ^& r
a:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}
6 \: a% g$ j; \4 ba:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;} y9 q2 R- ^: r4 ^- e8 _% M. l' C
a:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}
' I2 |' v" r" n+ T2 Ka:active {font-weight : bold ;text-decoration : none ;color : #90 ;}
+ W' U5 N* f8 c9 \9 i$ F8 A' e! d9 o# Q3 I; ^( b$ |+ \9 |
以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。 |
|