|
|
CSS是Cascading Style Sheets(层叠样式表)的缩写。是一种对web文档添加样式的简单机制,属于表现层的布局语言。
- ~/ |6 m! {# U# f0 k( Z, F5 E0 x$ {3 ~- X0 I: a
1.基本语法规范
" Y2 v/ j3 E* t分析一个典型CSS的语句:- }* F* v9 `; q
p {COLOR:#FF0000;BACKGROUND:#FFFFFF}
@* I! A% B( C0 h" z, i5 A其中"p"我们称为"选择器"(selectors),指明我们要给"p"定义样式;
G. x5 v- t/ y7 l: @) _8 Y* a样式声明写在一对大括号"{}"中; - x8 m2 D& ~3 x) H3 V& s9 @
COLOR和BACKGROUND称为"属性"(property),不同属性之间用分号";"分隔;
# Q) g) @ y) H) p* Z"#FF0000"和"#FFFFFF"是属性的值(value)。
- Y3 B, F3 K' U7 C
$ w `0 `6 q, }$ N$ I9 B2.颜色值+ J3 K+ Z. Z4 m+ B$ c! P) ], Z* ^
% O2 f+ S g S/ f: p颜色值可以用RGB值写,例如:" R6 r4 y- H( V9 ~: R
2 a8 ]! v% j, G& E n; H
& b8 S, m" E, ]6 }" L( n,也可以用十六进制写,就象上面例子
: _6 O! H1 t9 I5 Y' F/ ?" ]
7 {9 ^: P& P& l% z I5 g
* H# O/ i) P& N1 @5 U3 l如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。
8 F6 K6 X/ h( O) V: T0 Y( v ~
6 P- Y# N$ N9 h, p& F3 i3.定义字体0 J0 y- [2 ]: E1 W5 e" \
web标准推荐如下字体定义方法: M6 G1 s4 i- c$ w- _, j
* z. y# H, y8 a9 d; @
body { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; }
5 f4 l8 w H% I4 l7 e E* x字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,; " e3 f" {9 n5 A2 F
Lucida Grande字体适合Mac OS X; / V0 \4 m9 D6 {1 `* m2 _
Verdana字体适合所有的Windows系统;
& N+ ^ e6 Q7 l" K( [$ ?6 cLucida适合UNIX用户
7 n$ Z- J* h3 {9 Q7 @"宋体"适合中文简体用户;
! G5 }9 B' ?. D8 s/ d如果所列出的字体都不能用,则默认的sans-serif字体能保证调用;2 [( Z2 z4 a2 o+ Q3 |" D
* Q4 r5 r# T5 P
4.群选择器
: |6 f% W8 G# ?7 m5 x+ O# Z4 H4 l, V- g) }- e
当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,:
4 H$ k$ F- v8 a9 C
' ]9 v2 Z9 i6 L& ^ p, td, li { font-size : 12px ; } 1 h- Q% m M& ?; Z. u3 U/ x
就是给li下面的子元素strong定义一个斜体不加粗的样式; ?( G. V2 z9 s) F: m: N2 Y$ v. J
- x+ z+ u+ ?; G& }) S+ n* q6 `# T6.id选择器
& ^2 ]/ I0 o: } w% `
0 K$ ~$ K; ^1 ~# ]" o, Q用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层. M# z/ p, q4 ~9 ^
2 I6 k6 I6 u6 y. Y
( X& G3 w+ q" W t d/ A: T9 Q B2 P
然后在样式表里这样定义:
( u/ A9 d- @# _, C. T- ^ K/ l8 z% J
4 k7 `- E( e- M; {, c, N+ b0 b
#menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;}
- I+ W. F* F* M) e6 Q其中"menubar"是你自己定义的id名称。注意在前面加"#"号。
% a9 ]! l3 a6 j2 E; J3 N2 [# V
; w. ?8 H4 d" q% Did选择器也同样支持派生,例如:% }8 I2 d: Y3 F- Y2 v- m: h
#menubar p { text-align : right; margin-top : 10px; } 8 D1 Z8 l4 [- b- k9 g9 D
这个方法主要用来定义层和那些比较复杂,有多个派生的元素。
7 k& }+ A0 ^" u
U! S+ T: d; i8 l6.类别选择器; e0 i; T/ n% n" y8 z4 S% z
' P d- J) M! H% x: @# B2 s在CSS里用一个点开头表示类别选择器定义,例如:
% v' d2 y6 v2 P7 e g. x5 H3 K.14px {color : #f60 ;font-size:14px ;} 6 p2 ?8 z- _. B w- _ Y+ ~/ a( B9 \
4 m3 h7 e( ?9 H3 y' p在页面中,用class="类别名"的方法调用:, {9 F, r G. g( {! d
<span class="14px">14px大小的字体</span>
! }9 E5 a: r% ^2 J3 z
. I; H: z8 d' @5 j这个方法比较简单灵活,可以随时根据页面需要新建和删除。
% v; v# Y% Y$ a' c: b6 C1 u* i. Z" ~( Y2 \
7.定义链接的样式
. Q `# y, \, \& a( ~CSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:
' O0 \( F o0 Sa:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}
! w$ `# ?- p) \$ _; ]a:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}2 |) A+ Q3 n5 x
a:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}
8 g. o3 D( u5 Z. t* e. T4 \a:active {font-weight : bold ;text-decoration : none ;color : #90 ;} 4 D+ G' @ T3 g' j1 M2 K
2 R; W8 h7 B w _9 d. n
以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。 |
|