|
|
CSS是Cascading Style Sheets(层叠样式表)的缩写。是一种对web文档添加样式的简单机制,属于表现层的布局语言。( w# n: D% E9 U
! K" j7 e0 g% X4 L/ I
1.基本语法规范
1 L& ^ a0 g0 J; I: S; E分析一个典型CSS的语句:) B X3 j4 ]* m& d" X! a/ t
p {COLOR:#FF0000;BACKGROUND:#FFFFFF} + |% }! C+ D9 Y, I* p2 H
其中"p"我们称为"选择器"(selectors),指明我们要给"p"定义样式;
* }5 z# b2 ]; Z' _: `6 D8 y1 ^2 D样式声明写在一对大括号"{}"中; 4 z6 x9 c1 t" N# ^" F3 N- G
COLOR和BACKGROUND称为"属性"(property),不同属性之间用分号";"分隔; % N8 N" U, }4 ^$ W; M' p
"#FF0000"和"#FFFFFF"是属性的值(value)。4 ^' W3 e# \. `9 L6 _
# j! P$ Y& P' C) [/ H2 k( M b7 r
2.颜色值
6 `8 Y" S' }' \+ K; [' U& K* P: g" q Z6 r2 r* J
颜色值可以用RGB值写,例如:
* P& W4 p1 e4 h" m
! B6 r" a; V! `! ^* X$ B) @% t( Y6 f$ V
,也可以用十六进制写,就象上面例子2 j7 X+ I- A9 C0 d3 h3 G
3 d" y8 w1 a, k7 K9 V( M! R4 K' w3 W7 A5 k7 K% X1 ?8 W# G& s& m
如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。7 @+ [4 g% P2 C$ a `( r0 y8 ? S% b
3 [9 p# a- i2 e" L" Q9 y6 y* `9 K3.定义字体
! M. b7 ^# t7 ^; P% [6 a' R# q2 kweb标准推荐如下字体定义方法
) P5 ^1 u0 {3 i$ P. E
7 l2 o. f: `) O% B" R$ ebody { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; } # g/ Z; v' M+ V$ K% Q
字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,; . r$ f, S2 B: p# d" L, L- Q# ?9 ?
Lucida Grande字体适合Mac OS X; ~, D% y% m7 g7 I% g
Verdana字体适合所有的Windows系统; 4 i5 I- r: Y5 S+ Q* K) P3 o
Lucida适合UNIX用户 3 K) U, o( b% |& v% i& _
"宋体"适合中文简体用户;
, S. R$ l" ~( q% _) i如果所列出的字体都不能用,则默认的sans-serif字体能保证调用;/ ^$ B1 o M- s) `7 F
3 Q9 _ }9 B. O4.群选择器
5 U. B# n/ p" g9 g2 G( ]% i' J
当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,:
' \1 l {: ?, O- M6 S% R( N5 A7 A% v( M" ?/ r- l/ q8 N
p, td, li { font-size : 12px ; } 3 |! g: U- j, S( e9 _; P* B
就是给li下面的子元素strong定义一个斜体不加粗的样式
/ v% P7 d/ N8 V/ P9 n
2 Y" M% f& i0 q' @6.id选择器! N; i* Z& D4 Z+ H. K3 h4 l( m
0 p9 W" r2 {; Q( y8 _2 `
用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层* D) R! E) }. L1 z: i! Q
- O$ o7 C; N% w- g* {, U, G
7 q9 t# N: w. q3 n! D5 m; `然后在样式表里这样定义:( O( e( `- O. Y" H+ L2 R( N6 p- S
- r% o4 n. X7 i/ V" n. @; x
W; w. B" J- x7 f- C#menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;}
# @) h# F8 |3 B7 G其中"menubar"是你自己定义的id名称。注意在前面加"#"号。2 n* K5 N2 F1 S$ ]
N% l6 b8 C. a- ?# m' ~
id选择器也同样支持派生,例如:( L3 D$ _% Z% r% h9 `- R* j K
#menubar p { text-align : right; margin-top : 10px; }
8 T# t" H9 `5 O; b% ], {3 r8 \这个方法主要用来定义层和那些比较复杂,有多个派生的元素。1 p! k$ n; f/ l# t( H6 J- d
/ Q) J) |3 e" k5 h8 W) X' Y! v6.类别选择器! v k5 V6 u8 k' J9 b) Y+ C5 m
9 z ]3 _: B6 R: {' e7 G0 L. `* m在CSS里用一个点开头表示类别选择器定义,例如:. `3 t) J6 X4 i
.14px {color : #f60 ;font-size:14px ;} ; {" P) Q' X0 X
7 X" V$ l! H& ?0 z
在页面中,用class="类别名"的方法调用:
0 `9 l. ?9 m: p2 @<span class="14px">14px大小的字体</span>
[% H# |9 Y e# k1 a
6 h& J! _8 z i这个方法比较简单灵活,可以随时根据页面需要新建和删除。( j1 ^7 n( F7 f: f$ t
: n* T4 W, _: e0 |
7.定义链接的样式( T1 e R: u" D# G$ k0 K
CSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:5 T3 W; n# ~$ }3 U# x: a1 [
a:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}
" ^5 I0 |+ e9 k: O7 i; B+ O [2 V( k& F) la:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}* v1 n+ h5 c2 ^! w0 J
a:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}4 ~5 c8 d& j/ `* r0 m& A
a:active {font-weight : bold ;text-decoration : none ;color : #90 ;}
; a0 g+ P1 b( f& h' c4 z% y9 c# @
以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。 |
|