|
|
CSS是Cascading Style Sheets(层叠样式表)的缩写。是一种对web文档添加样式的简单机制,属于表现层的布局语言。
. l' _: L. k5 R- g% D2 z$ z: `" r
- y6 H; i% h( M9 t# V+ s6 q1.基本语法规范
$ R" w* r+ ~+ R; B% k分析一个典型CSS的语句:
~" j8 V5 D% B" Tp {COLOR:#FF0000;BACKGROUND:#FFFFFF}
* S/ q4 b1 T0 \) w6 H7 ?# Y其中"p"我们称为"选择器"(selectors),指明我们要给"p"定义样式; ( q& {& E+ J7 ?7 K2 \
样式声明写在一对大括号"{}"中; + n% H( y) o5 U1 x. v: C" {
COLOR和BACKGROUND称为"属性"(property),不同属性之间用分号";"分隔; ) B4 G% _$ d( ? e( X& v9 R5 q
"#FF0000"和"#FFFFFF"是属性的值(value)。
/ y7 @7 Z1 r V0 U) x0 D0 ^7 c
8 i! j% C* Y8 z! ?2 L1 g; p2.颜色值/ G Z& v2 @ g0 C
- T# y! M5 ?( L. M! v c5 F+ \9 B8 Y
颜色值可以用RGB值写,例如:6 i1 J' B$ V" o2 q
( q6 {# u! e3 a+ H& u4 |+ y X' e+ d
,也可以用十六进制写,就象上面例子9 U% U `4 W: X0 O* c7 }
& I/ W1 ~, r: V) Y7 G0 q8 L( z: j4 [. `( T3 c2 m8 e9 P
如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。! L$ h1 ?# N% p2 K4 F# S( {
# W$ Y+ V2 k$ I7 [. i* X
3.定义字体
& B% ~" j! q6 g/ E- X+ wweb标准推荐如下字体定义方法
; s; j% g8 A0 A3 a4 K9 @$ [( z6 P5 l9 v
body { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; } . t" d$ I/ K9 k6 i
字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,; % R- H, W" J6 H2 o5 D! H
Lucida Grande字体适合Mac OS X; 7 F8 X2 g: G, R7 g' p8 J, y3 |
Verdana字体适合所有的Windows系统; 2 Q8 |; |+ S1 d; w+ v- |7 h
Lucida适合UNIX用户 $ `- m( }) j4 n
"宋体"适合中文简体用户;
: A7 c, B1 u. d+ d) k3 u如果所列出的字体都不能用,则默认的sans-serif字体能保证调用;8 y9 \0 L3 X3 x
3 a4 l9 m3 m% K/ @* m ]4 j0 i
4.群选择器
0 i3 l" q0 f+ v. M' N, \& F/ e& Z0 z: i. L+ W! ?6 r# Q
当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,:% M2 u/ N- `/ g$ V: d+ w! a: Y; k
' O7 L8 a0 S3 R! U V# O5 g$ p
p, td, li { font-size : 12px ; } + C$ u- k8 x* Q$ c3 }) K6 ~+ `
就是给li下面的子元素strong定义一个斜体不加粗的样式
2 y# {+ ? K: l, O3 G
! I' h! z; t+ ?2 }5 n8 o: n# J2 d9 c6.id选择器* U/ z3 K! G4 b! z( E
8 N- M- X/ f3 v. e
用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层' W7 N0 ?( X/ z0 ]) U" {5 f
7 l! ~% `5 ]; k
2 M, M4 m: J6 u
然后在样式表里这样定义:% ^8 k1 z2 Y9 D; Z" p/ B
# k8 `! G$ ^2 b( }3 N/ e
3 E5 Z* r+ s; G5 E3 }; R1 H2 a( U#menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;} ) {0 I; b" v* G; m7 i/ w
其中"menubar"是你自己定义的id名称。注意在前面加"#"号。# k1 E4 f7 X; F5 P) l" d2 X8 k
5 y! b* \; w6 o u$ z7 eid选择器也同样支持派生,例如:- U4 i7 o: T- a" ?! Y: j- _9 |. O5 c& B5 |
#menubar p { text-align : right; margin-top : 10px; }
x) B g; p: A这个方法主要用来定义层和那些比较复杂,有多个派生的元素。
- w; x: e4 J3 j% Y9 B0 e- j. _3 Q$ {/ Z, f/ ?
6.类别选择器' K1 i2 R5 I& m1 z
2 v! h- C+ ~- {
在CSS里用一个点开头表示类别选择器定义,例如:
, f& c; P" V1 f* \.14px {color : #f60 ;font-size:14px ;} + [ s) L# x* _! _. g$ V
7 ?% N/ \0 ]- V) i( ^4 R在页面中,用class="类别名"的方法调用: x+ A |7 l1 c9 M
<span class="14px">14px大小的字体</span>
, P6 u1 t0 ^- I& T) W h5 _
+ {5 q" G! m. [4 w# ]/ I这个方法比较简单灵活,可以随时根据页面需要新建和删除。1 D5 ~& r. C w. `* I) J
' ?' {: f( c2 ?" ]9 l' t: w! z7.定义链接的样式% m0 \7 h% z; N: `" _7 h6 Z
CSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:
% O; m* g* O1 `2 @$ y( b1 w ja:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}
4 |3 z$ B( q# p- ca:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}: i2 W/ B. g- q8 j( f# Q
a:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}' o$ W9 t7 ?# r& m2 N# X
a:active {font-weight : bold ;text-decoration : none ;color : #90 ;}
' S# D, x1 T- Y0 B+ J5 n$ h/ }3 p) I' W% o4 \6 ?
以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。 |
|