|
|
CSS是Cascading Style Sheets(层叠样式表)的缩写。是一种对web文档添加样式的简单机制,属于表现层的布局语言。
: T5 N+ W# Z6 {& C( }5 {! I5 R$ j0 ^) E
1.基本语法规范$ I" m8 H4 Y* e; k. J
分析一个典型CSS的语句:
/ w$ o# K+ `# o6 t. n$ ^$ bp {COLOR:#FF0000;BACKGROUND:#FFFFFF}
5 r4 [4 ^% F* K/ C0 ^其中"p"我们称为"选择器"(selectors),指明我们要给"p"定义样式;
0 l; U+ y0 L' ]/ Y c/ ]+ z& c样式声明写在一对大括号"{}"中; ! k6 P a3 b1 K% x0 m; [
COLOR和BACKGROUND称为"属性"(property),不同属性之间用分号";"分隔;
5 o6 I1 J1 M4 C$ L, z9 y8 `- x- H"#FF0000"和"#FFFFFF"是属性的值(value)。
8 R7 s( O3 t a* ~& C, ]2 i; }/ p& p/ i% l' {& K) M+ Z
2.颜色值
8 b6 P+ J. s7 i b. q% o: s% \( T1 r' X6 S' l6 ~ \
颜色值可以用RGB值写,例如:$ ?) y% r6 H* B8 _3 b
. F( k7 b; O# V# W+ t1 P
# B$ T. `( d+ i3 {# B$ ?$ j; D,也可以用十六进制写,就象上面例子; y( _* B! a) l$ {$ G
) l9 P6 X& `0 u
+ @# q) R( [0 v; C3 B o4 q/ K9 a如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。# a% N6 o0 U/ v
: r8 p& A5 q H' y3.定义字体
& N6 r+ w4 H" J$ j4 E \web标准推荐如下字体定义方法$ K% P7 s( [1 _% J
$ ]- g9 f6 {2 s/ @0 X; O
body { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; }
9 b1 ]* e! y7 Q/ {字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,;
# c# ^$ Q: ~& D# Q, K, d( KLucida Grande字体适合Mac OS X; $ J; l2 E% a" P" j2 T: \
Verdana字体适合所有的Windows系统; % u0 U) m0 G! m) F v# P" O
Lucida适合UNIX用户
( X) K1 {9 P' ~4 J6 E0 i P"宋体"适合中文简体用户;
- m, e0 I4 f8 n4 n如果所列出的字体都不能用,则默认的sans-serif字体能保证调用;
; y3 m a1 X6 H8 M/ Z# P0 N* B& x* c* a' i" k
4.群选择器
% \. f3 L- T4 t8 ~3 V7 \; Y
4 o1 q: J5 [# ?, J0 t, R当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,:
" n3 ~) c* C% S+ y! ~0 ]9 L$ g K0 }) ~7 ?% X; T# b& h
p, td, li { font-size : 12px ; }
- [( l/ m2 I4 v; v. a' c就是给li下面的子元素strong定义一个斜体不加粗的样式
2 Y( B L/ u, w- @% Z0 f
; [- Z1 l% x5 P. ?& V* z6.id选择器
' j) {& P# u8 m, @2 M6 ^: q! P1 \: ?1 X
. m {6 g/ W' M- c5 m. w用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层$ g! `% B4 @8 h+ r6 |1 V6 y) \
" P2 f6 ]9 R" h% B; n5 l5 l I. d% e- x6 P5 M7 K! _5 G
然后在样式表里这样定义:
, T# h3 N& D, N) ~$ ]: g K8 a" y# l3 g( z
# O$ ], K8 m) N6 f#menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;} 1 q( Z6 j+ E" C1 u' S+ h! g V
其中"menubar"是你自己定义的id名称。注意在前面加"#"号。
/ ?1 H/ r" C% R3 e
+ ?0 r( `6 n4 c" [id选择器也同样支持派生,例如:
" \; A: A" g2 d, ~#menubar p { text-align : right; margin-top : 10px; } ) _& R# X/ G0 X9 h$ z; G1 b# K, L
这个方法主要用来定义层和那些比较复杂,有多个派生的元素。
1 d1 \9 e2 {! @- S+ N) w0 [6 r4 H* {( _1 n7 s
6.类别选择器
- u& n1 U) O/ u) Z) z: i9 V( I2 }5 G: T' V; ]/ a7 g
在CSS里用一个点开头表示类别选择器定义,例如:
7 T6 G' D6 L6 [% \.14px {color : #f60 ;font-size:14px ;}
5 t" ?6 L. X8 B. B" W; h! y$ d) D
在页面中,用class="类别名"的方法调用:8 j$ R0 G/ {$ E) G
<span class="14px">14px大小的字体</span>
1 S3 U3 |8 V; B
; j! w. W* v. n! M" ~/ j这个方法比较简单灵活,可以随时根据页面需要新建和删除。
( r) l3 T7 C2 z1 P0 N; b9 R: B% }/ J$ s, Z( \# ~ {& b5 r Y
7.定义链接的样式8 {: |: C, ?3 t9 e+ [
CSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:
2 r, V# Q6 n4 L1 {: V3 ia:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}- F/ O3 t% ~& [# ^ y: g
a:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}4 Z% c6 x' k( o$ z, b/ H
a:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}4 v* j. u" t! h t" [
a:active {font-weight : bold ;text-decoration : none ;color : #90 ;}
8 E, Q T% r$ i, M$ D& B- l9 o4 X. ]
以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。 |
|