|
|
CSS是Cascading Style Sheets(层叠样式表)的缩写。是一种对web文档添加样式的简单机制,属于表现层的布局语言。
3 O& h. U. \' l* y w
& W* |8 d S( K. Z; P1.基本语法规范
0 c, j6 ]4 m, ?) N2 _5 q$ Y/ p分析一个典型CSS的语句:$ { o4 ]+ Q. `0 M- ?
p {COLOR:#FF0000;BACKGROUND:#FFFFFF} ! n4 J4 N0 Q/ T9 W
其中"p"我们称为"选择器"(selectors),指明我们要给"p"定义样式;
% J9 X, M+ a4 Z( u样式声明写在一对大括号"{}"中;
, X5 I7 M- t/ sCOLOR和BACKGROUND称为"属性"(property),不同属性之间用分号";"分隔;
% ?( ]" A; j1 G3 V) T9 f: q- X"#FF0000"和"#FFFFFF"是属性的值(value)。
2 \+ N% D1 _& o! z9 @3 u
1 y& V- y% |7 [& [6 m2.颜色值
: W+ Q" G2 G3 q4 \: P8 c: J/ v" r1 {; p3 h3 W2 d0 r
颜色值可以用RGB值写,例如:, q1 a. Y. _8 U4 |
' `3 r2 ^# P' T. \4 d0 ]/ c
' `# d# y7 y; t& V& M. S1 {
,也可以用十六进制写,就象上面例子
% `6 b2 U1 G% B0 J0 I" b' v" B. N v1 X/ X
( } I: @# Q' S1 O
如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。% B, P3 n* C5 z% _8 s8 e9 G: E) V
' g3 X! S5 |- ]% V# |3.定义字体0 n% K9 `% e5 p r8 A% {
web标准推荐如下字体定义方法+ q2 @, g' \8 h. w% d: f- E( e
; D# D0 l/ y- V6 r
body { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; } " k" a, m9 \1 O# @7 p
字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,; 8 o) n6 H9 S# A) h/ J" m
Lucida Grande字体适合Mac OS X; $ e ~/ G2 c- l/ i# q1 u
Verdana字体适合所有的Windows系统;
' `7 X- H2 |! A5 [. _* p2 x" zLucida适合UNIX用户 ' A, O" e& J/ p& K. I+ r
"宋体"适合中文简体用户; " ~! X# E/ J2 ]7 X ^* X
如果所列出的字体都不能用,则默认的sans-serif字体能保证调用;
0 K# J7 p/ D9 _' y& z h+ K1 S* w7 r9 B
4.群选择器! r) Q2 n. _4 ]7 b9 {" i1 a
) p4 D& h" m& _6 c- _
当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,:6 d+ n5 ~& c( }, z( H3 m6 d
0 u' J A( L0 q+ Z% U: _( r' ~
p, td, li { font-size : 12px ; }
2 Y+ y# W/ `, w/ [& B就是给li下面的子元素strong定义一个斜体不加粗的样式
: e' B6 d( V+ ]- Z
3 V6 B# [& d; ]& R/ e& ^6.id选择器0 o" K) ~" V' K2 M# x, m9 ^7 |
) j( ^, f. d, n, ^+ l# ~
用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层) I. \( ]5 O3 o( J( o# t
# c' F9 ]( x4 Z) y* j
% R# \) q" I8 W! @$ @然后在样式表里这样定义:3 L% D% E/ }6 D
+ g6 k" F" E9 Y2 C8 i9 W
1 M4 q3 B/ d( v+ W" M F0 I, c6 m#menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;} R4 R9 v- f K7 E+ s: z5 Y
其中"menubar"是你自己定义的id名称。注意在前面加"#"号。$ F8 }3 F7 V0 t' E8 w# X) m3 G4 \
I! x! E) t4 K9 O6 L7 M
id选择器也同样支持派生,例如:
* G4 l6 ~. u/ P& Z! S3 s6 G#menubar p { text-align : right; margin-top : 10px; } & Z, }) A3 t( V3 k- _: A
这个方法主要用来定义层和那些比较复杂,有多个派生的元素。
: y! K% Y& F7 H& S2 t, p
( d" L2 X5 U, @9 d6.类别选择器2 f( ?# `# v9 V! Z! E) I1 O
u7 M# l9 r; l# D, g在CSS里用一个点开头表示类别选择器定义,例如:4 d* B6 P3 \4 x& A: V( a! ?
.14px {color : #f60 ;font-size:14px ;} ; a- h8 J- h4 l, b
& ~5 P) `8 R; q: h' y在页面中,用class="类别名"的方法调用:7 T3 M+ P8 x5 n. Q+ W. ?$ o# `' D
<span class="14px">14px大小的字体</span>
0 a0 z0 Y* M( @9 g+ L u
( D/ ^4 g/ n7 Z* y) e这个方法比较简单灵活,可以随时根据页面需要新建和删除。
. E3 j$ ^4 e$ h% e/ R
. e8 U( h2 M, p: l: G( Q, _7.定义链接的样式
! q/ l5 H8 |9 }# V& zCSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:
. a9 \( Y/ k5 j2 M qa:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}
% K: M+ D6 f1 M- l; }7 Za:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}
9 \& A# C+ v& n; Q8 a* @' ya:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}
$ Z/ I; K0 }1 _* ga:active {font-weight : bold ;text-decoration : none ;color : #90 ;}
* _" [" i0 t$ a( f \! I* C: M1 U: d3 c9 h
以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。 |
|