|
|
CSS是Cascading Style Sheets(层叠样式表)的缩写。是一种对web文档添加样式的简单机制,属于表现层的布局语言。, P# Z2 z7 n. r8 ~7 f
" A6 U; A. C, a J+ z6 u2 }+ U7 U
1.基本语法规范
, G& ~# O6 w: Z- @! F2 v( g+ ~分析一个典型CSS的语句:8 k, m; M, k3 ^3 S+ V9 H! l
p {COLOR:#FF0000;BACKGROUND:#FFFFFF} 5 r+ {4 i' b/ p
其中"p"我们称为"选择器"(selectors),指明我们要给"p"定义样式; " X# D" p, H- t0 A& i$ e4 A
样式声明写在一对大括号"{}"中; . w6 c# k% h q% i
COLOR和BACKGROUND称为"属性"(property),不同属性之间用分号";"分隔; 0 o, V+ l' L2 C6 N4 q
"#FF0000"和"#FFFFFF"是属性的值(value)。& a7 [* n+ {( Z" q/ J: ^7 b5 X
/ M8 G. E% I9 e1 w: ^2.颜色值2 z, L+ d3 ^- k) \: v) F4 Y
1 E& `) |# B4 r/ a' H颜色值可以用RGB值写,例如:
. W1 {5 k: [- f& }" D) y" F
8 p4 d2 P& S/ q( ~" s( t z: ` s% \$ Q! b; `% o
,也可以用十六进制写,就象上面例子
3 j2 Q4 L$ B2 e% q" v0 U) E
" J' J, H9 B: T2 I6 K, u& t) t. x! d
如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。1 f* P, C0 l9 p0 M6 j8 p2 a
5 V" b6 Z1 o/ d$ B3.定义字体
. x$ Z. }" h* ]web标准推荐如下字体定义方法% j1 z8 A0 H+ _0 n
% |. n8 k8 C- L5 t
body { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; } " v4 U: j0 n9 I! c) F
字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,; * O$ f% c0 t Z% j8 [9 }* B
Lucida Grande字体适合Mac OS X;
) S1 Q- I$ d( F$ a/ iVerdana字体适合所有的Windows系统; . S8 k9 e/ w$ }, j
Lucida适合UNIX用户 % r% E, U: {5 Z; a( L
"宋体"适合中文简体用户; ; P S" R( A! q) z& f+ B5 i+ N
如果所列出的字体都不能用,则默认的sans-serif字体能保证调用;( |% m1 h# A- S7 d) ]9 y' A# U
" L1 L) b: t7 E5 f4.群选择器
8 \/ T- l! Q" X9 n8 G3 B$ m" S2 e5 _
当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,:
1 q0 g. p0 \3 x1 ?* L6 _
6 a, ?* v, I6 W* `. l- v p, td, li { font-size : 12px ; } & y4 |9 Q7 H2 q$ t4 [
就是给li下面的子元素strong定义一个斜体不加粗的样式
, D0 q, w) k& e, `# T d; N
- [# E+ A. X9 K2 R, y. l& ^) g& M3 o6.id选择器+ z* ?( t4 f' @7 o
6 A& | T3 v9 A, Y) w. {* P
用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层
5 \4 E- Z6 n: B* h6 b7 X# `+ ?# C0 \. p0 s8 b m/ }
* d; ^. K* w2 T) ^9 b( ^然后在样式表里这样定义:
! w: A7 N' x/ F" j6 G
) N' e; t/ N- B$ l, |$ N
6 |7 z+ h: Q B, l" c0 J% J9 w#menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;}
- j" D2 I2 R# ?% H6 F0 M其中"menubar"是你自己定义的id名称。注意在前面加"#"号。
- x+ C8 O$ Q3 @ e+ m; g. f) T0 y3 ~# x4 K
id选择器也同样支持派生,例如:
( G) R9 ^) K# L7 H2 t, d: [#menubar p { text-align : right; margin-top : 10px; }
% | C, E% J- i# v, F这个方法主要用来定义层和那些比较复杂,有多个派生的元素。& b) Y& Y. w% r; ~' X
) y9 w. ^$ D$ i
6.类别选择器- g3 Z% V/ {& n0 n# w6 T8 P; i
% z2 K( E5 F! X+ |
在CSS里用一个点开头表示类别选择器定义,例如:
% H! P+ ~9 p3 `0 ^2 x.14px {color : #f60 ;font-size:14px ;} 7 }# C0 v5 x( b' z
- L5 H0 k' L9 m- g$ [在页面中,用class="类别名"的方法调用:
+ J" G9 I0 d% _<span class="14px">14px大小的字体</span>
9 {; ?1 `+ M( {; m' o5 ]+ l; j; _4 a/ b# e- m% b4 `
这个方法比较简单灵活,可以随时根据页面需要新建和删除。
+ |7 C! l3 K9 F7 O. Y8 J, C5 w; u1 d2 ^$ c Y6 H$ R
7.定义链接的样式
; H7 S+ ^$ p" b4 gCSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:
/ e0 n/ ^2 R. \6 N' q0 ~a:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}
, o& K9 [* i1 B4 L1 Ma:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}& b1 N) o7 P$ n y
a:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}
- S- |% Y( ]) b/ A9 ia:active {font-weight : bold ;text-decoration : none ;color : #90 ;} + @+ j( ]* a8 T0 l# W" e. B- ]7 a
2 V' F9 |2 x2 L$ p" E以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。 |
|