|
|
CSS是Cascading Style Sheets(层叠样式表)的缩写。是一种对web文档添加样式的简单机制,属于表现层的布局语言。4 G) S) l2 e2 z P
5 @5 U" j6 e3 g
1.基本语法规范! Y' f) l7 d A: |9 w& B
分析一个典型CSS的语句:
! f2 i/ ]! y9 b3 jp {COLOR:#FF0000;BACKGROUND:#FFFFFF} 5 b; e' D& |3 [1 ]3 F1 F) I- u
其中"p"我们称为"选择器"(selectors),指明我们要给"p"定义样式;
. q6 Z, q3 O7 {" a! [3 C8 y( f% G# K样式声明写在一对大括号"{}"中;
* h; I! ^, V% G! S( n% hCOLOR和BACKGROUND称为"属性"(property),不同属性之间用分号";"分隔; . c O( w) Y: U+ M& x$ _
"#FF0000"和"#FFFFFF"是属性的值(value)。
; O; |$ F2 X1 h+ U; d
Y( K' }2 p3 b8 h, T2.颜色值
, M) M& c% O# f j& Z' U* L' V- s/ E, c/ Y5 m0 _- h3 h. G) d
颜色值可以用RGB值写,例如:% }( _. w3 z5 G: z( O
$ f* h$ _# w5 m+ M7 x) l5 y; ]
" F" m- N& p! {: L) r0 f,也可以用十六进制写,就象上面例子
! f, e% I+ D5 w0 d3 ?
( L# i/ p4 o; \
' B5 y: I8 K( b. O$ C如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。0 b0 u( j1 o% \ u% j
. Y1 O) }3 u* g6 h/ Q. m0 |; H' F3.定义字体
) [$ D6 H I/ [web标准推荐如下字体定义方法
0 ~8 r1 }( g1 W! m0 ~7 O* B$ h8 Y9 h- \
body { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; }
& l- a( ?' Q$ d% g5 o& Z) Q/ L, c字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,; : F" c( N9 U H: P
Lucida Grande字体适合Mac OS X;
8 x ^9 Q; R7 c+ E: k1 q+ P) iVerdana字体适合所有的Windows系统; 1 c4 G7 o1 H7 H" v& \
Lucida适合UNIX用户 + o( L4 c3 Z4 z, c
"宋体"适合中文简体用户;
8 I4 w+ a$ {% h如果所列出的字体都不能用,则默认的sans-serif字体能保证调用;
! @# [* b: B* g- J3 ?1 U. U( I% y
0 V1 T9 o/ S1 q) z7 P, L: E4.群选择器, z5 Z5 N- S! O
1 O1 }7 p/ \; |4 i当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,:
, B) E& z; M& Q# s6 y8 s; J2 n. B; r9 f; i/ {3 [4 x6 B1 U
p, td, li { font-size : 12px ; } 4 E% t, L4 o9 }! \; P X. R: l4 Z: X
就是给li下面的子元素strong定义一个斜体不加粗的样式
( J' G) p" L" D" [( e9 h. w& X4 d3 i- V- H
6.id选择器/ c5 e( ~' d" S7 h
X( j3 q2 |6 B6 V8 Q用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层
% e- V1 K- `3 I3 i- l
" J, R9 E3 ? q3 d0 _" v
' L4 i) g* C0 W4 B6 U然后在样式表里这样定义:/ @) ?; K" x6 D
1 n0 x6 Q9 F3 ?
+ b5 L; b: x' A6 P& L; i+ b
#menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;} 4 L& ~4 G+ ?2 w1 z0 I
其中"menubar"是你自己定义的id名称。注意在前面加"#"号。2 j+ M; y& P0 v! A! |4 I4 P
% ^5 }9 y' z, e/ }" J# |
id选择器也同样支持派生,例如:9 g3 R5 K$ E+ ]( g
#menubar p { text-align : right; margin-top : 10px; }
0 G4 q s, a1 X8 [9 m这个方法主要用来定义层和那些比较复杂,有多个派生的元素。0 F% d# x7 Q, R! M8 \
( j2 X1 ~+ ~. @' Y6.类别选择器
; S% A8 g7 i7 J6 }/ X! _/ }: V$ Q) Q* F0 C0 y) i- |
在CSS里用一个点开头表示类别选择器定义,例如:
) }9 t5 u# p9 P5 H.14px {color : #f60 ;font-size:14px ;} 2 G" [5 a; l: w, [$ I
8 q |# u/ y6 \9 V2 b
在页面中,用class="类别名"的方法调用:
# ?* Y6 y4 w3 K& U# ?9 g( ~( c<span class="14px">14px大小的字体</span> * o/ m# ]% ~: B8 G \/ `5 m* `
. M7 k' n l# E5 w% k5 F这个方法比较简单灵活,可以随时根据页面需要新建和删除。
4 D# H7 h/ g* C4 ~: A6 e# n0 M+ D% e5 T8 F2 u# J: d. E. R9 Q( ]
7.定义链接的样式
% {: O$ v' W6 J, p. x' _, C. tCSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:/ k/ ]4 Q d4 S$ j O" f* |
a:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}% U0 C$ [4 N" O' S, e# [* s2 D
a:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}
) l8 X. B% Q6 C% i, O( u/ xa:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}
6 C* f/ l$ \# g( k D" K* p( Sa:active {font-weight : bold ;text-decoration : none ;color : #90 ;} 3 h6 G9 i% m% \& B6 f7 S! a' [. H
9 N2 A# }7 W$ L' t) S
以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。 |
|