|
|
CSS是Cascading Style Sheets(层叠样式表)的缩写。是一种对web文档添加样式的简单机制,属于表现层的布局语言。
0 Y: y! B0 p( S6 V# d+ B- j: ^5 R
# t* \0 l5 |! w3 ^4 r1.基本语法规范
- k* M3 f* [: a6 ?分析一个典型CSS的语句:! P8 E1 j1 h2 M1 `: D4 c: J! H
p {COLOR:#FF0000;BACKGROUND:#FFFFFF}
/ a% o# o3 B. g8 p% k$ o其中"p"我们称为"选择器"(selectors),指明我们要给"p"定义样式;
# i/ v/ s& |+ \+ o' B5 q样式声明写在一对大括号"{}"中; , k0 _, Y' V5 A$ m! ^( L' h9 F! S
COLOR和BACKGROUND称为"属性"(property),不同属性之间用分号";"分隔; % N" t8 T7 G" x( n' r3 x
"#FF0000"和"#FFFFFF"是属性的值(value)。
& J) z7 j8 K/ p* ?
; k( \+ q6 {6 i2 w2.颜色值( Z: `: d' e' p0 m
8 Z7 E7 a6 D1 Q$ x1 n
颜色值可以用RGB值写,例如:8 ]' b U: o* U! k* N4 j1 g
7 H, ]# V# v' i# R7 {
" d- Q S$ r4 u,也可以用十六进制写,就象上面例子' u m/ t3 C2 A) d5 H
! T% g y: O1 Y# r3 A% h8 f
; P) L: r* e s: i2 a$ r5 Y a" B- e% u如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。
+ [& Y z% S0 v0 s3 p0 `& r: j! Q$ D6 l6 ~
3.定义字体
+ L3 F3 c2 k" oweb标准推荐如下字体定义方法
# D8 ?! S8 z/ Q5 D" I1 Z' [9 M
) O" Q! X; T0 ^( }0 lbody { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; }
e. b+ o4 }/ @+ N3 }# ~* X. z字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,; 3 M* b. h. A" q9 a
Lucida Grande字体适合Mac OS X; 6 j0 a: f7 j: S
Verdana字体适合所有的Windows系统; $ z/ ]2 U; L" J% t/ \/ D* E/ W" _
Lucida适合UNIX用户
% I4 q) Y& n. L+ C5 w3 U"宋体"适合中文简体用户; , h# _ K& y) }
如果所列出的字体都不能用,则默认的sans-serif字体能保证调用;: t' w! ^2 ^+ X: Y1 S5 i2 j
0 N. W- m+ z: O6 F/ k
4.群选择器" L) ^& R, D! r* |- _( I! Z3 ?+ k
! b+ L3 g) d4 ?! @1 A/ s, ?当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,:( h9 U# j9 C* [( I4 n6 T
3 ^9 a) ?) K* }7 I" M( J
p, td, li { font-size : 12px ; }
5 }7 h4 J: Z' v; H% I就是给li下面的子元素strong定义一个斜体不加粗的样式8 J0 a6 D9 l/ W7 X& j
2 X: x. b% k( V S
6.id选择器9 S9 k. K2 H/ M( O8 d
4 S) p" j4 q$ q/ S用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层
& j/ [' n) n0 }& ]: x9 w( V2 x( x4 ]: x' d4 g/ R7 Y5 D8 c1 M2 c
0 d) W( d `: r! R3 H然后在样式表里这样定义:2 ~4 j# \: d3 B6 O b( I$ }. i/ g
, \ Y2 S8 z% Q" ?2 q
* i$ `' X' Z4 T+ m. z3 f0 i! S
#menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;}
/ R/ r4 j; a; X2 z* o# Y/ {) q6 S3 f) s其中"menubar"是你自己定义的id名称。注意在前面加"#"号。
1 t/ N5 x! H, \" ^+ L5 ?! q% L4 a1 a3 @- z3 Q7 b* c4 W
id选择器也同样支持派生,例如:4 ^' S+ |1 K0 n0 F7 o0 s$ O, s
#menubar p { text-align : right; margin-top : 10px; }
; n* V( u Y- T& v# H9 y# `! K* n3 U这个方法主要用来定义层和那些比较复杂,有多个派生的元素。1 O2 g( P! P6 o
" U9 c* a9 q0 x
6.类别选择器
{3 s4 G$ |4 W
! J& |! F1 V5 w# S0 ]# d在CSS里用一个点开头表示类别选择器定义,例如:
1 D2 g: E+ r( [3 V ?4 X.14px {color : #f60 ;font-size:14px ;} : W0 {4 K! F% p" g
' `# C4 q) F1 `6 n% i9 V# \. D2 i在页面中,用class="类别名"的方法调用:
' @9 Q) K- m r) v<span class="14px">14px大小的字体</span> & N5 T6 m6 w$ X* V* Q( Z& d
* @+ d: h4 \: K# v" j5 w# v, T+ f
这个方法比较简单灵活,可以随时根据页面需要新建和删除。) J" r3 X1 B, f ?2 d/ M4 P9 `6 ~
; X2 m8 S. e# y/ q+ p
7.定义链接的样式
$ P' _- D7 L8 T' o, p6 a$ ~9 ECSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:7 Y: P9 f) h; V2 [2 p7 Y3 Z
a:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}
3 [* p' E9 k u6 pa:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}
3 u( a; {2 t _) ~& O6 [ C& wa:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}$ {* v% Z! D! B% j e& I( ~1 g
a:active {font-weight : bold ;text-decoration : none ;color : #90 ;} 5 n0 Y D; p5 ~4 v# W; z' x& _1 S
# U, k1 n$ j+ e& j4 K以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。 |
|