|
|
CSS是Cascading Style Sheets(层叠样式表)的缩写。是一种对web文档添加样式的简单机制,属于表现层的布局语言。
# O# o; F% p& O
9 S2 \* P6 ]' L4 t0 b/ ^0 A9 L# h1.基本语法规范' f# V! j' f+ I4 g9 T3 A, V, |
分析一个典型CSS的语句:! z! L: t, V: q9 J4 M8 P
p {COLOR:#FF0000;BACKGROUND:#FFFFFF}
! X- M! t* [) j- l6 n6 |其中"p"我们称为"选择器"(selectors),指明我们要给"p"定义样式;
8 H2 @. y& G( |# P样式声明写在一对大括号"{}"中;
8 |# r- ^. X9 O; ZCOLOR和BACKGROUND称为"属性"(property),不同属性之间用分号";"分隔; 1 M) W+ v9 K, k$ c4 B! Q0 C7 K
"#FF0000"和"#FFFFFF"是属性的值(value)。
# ?9 w, ^' p2 F7 i* k4 o; c$ d5 P0 {8 r6 G- z# u& n8 J' Y
2.颜色值+ K7 d' t3 L4 u7 \, b t
* X+ {+ I4 \) {( B% X0 C$ C
颜色值可以用RGB值写,例如:
0 `1 F$ E! Q7 i' [9 T3 j$ ]
' [5 x2 L- e+ r6 x* h' A7 u$ i( M3 C" Y$ O/ c! g" \/ m1 ^ ?
,也可以用十六进制写,就象上面例子. G- k2 X, O# b C( i: Z8 e1 n
U( D n* O" T+ Z. `. ]# k z
" h4 V; _8 i& o- ]$ K
如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。' Y4 V- N* d. T6 r, G" t) A4 l
5 A# d }, _$ p; Z; i
3.定义字体
4 w; x. o! C3 E- Y2 D& X: Lweb标准推荐如下字体定义方法0 Y$ _. G, S0 Q3 ]
1 l+ Y) x1 S8 p
body { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; } 8 K$ g* @$ [ B0 ~0 t% p
字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,; # K( M% s0 q6 g+ B8 D% Y" k4 V
Lucida Grande字体适合Mac OS X; 7 p4 E8 U7 R3 J4 o
Verdana字体适合所有的Windows系统;
, X' M& r1 ]' PLucida适合UNIX用户 $ \! P, s! x* b# t
"宋体"适合中文简体用户; , R6 K8 z& F. I, G5 i+ w# w- }
如果所列出的字体都不能用,则默认的sans-serif字体能保证调用;
9 k; L6 q* Z6 Z+ V. s
. h$ t! Y- \% T- e, a$ `! Y+ V4.群选择器
! D1 w3 j7 m! i' F
! B( V$ @7 @/ g/ b当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,:5 @* w* c+ y* r4 x4 D3 C
% P1 [: Z$ t5 K/ j+ F* B1 ^% c p, td, li { font-size : 12px ; } ' }' Q5 p+ r( f: g+ ?" C* B
就是给li下面的子元素strong定义一个斜体不加粗的样式
7 q) `2 w6 U# E) Q/ v4 ^. c& Q5 B2 `7 i6 Y
6.id选择器
. q/ h P8 q! h7 c, `* F
% ^, B4 j' d3 ?: J+ F" }用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层5 H( f, N7 }; v
- o: I5 T- |" I7 b8 j/ U V% }0 h
, ?2 @ q. x/ B2 Y% o/ c2 ]然后在样式表里这样定义:: E& _ ^8 g3 w# y& B, B, g
' n* \" A, D. X0 v
# }4 R$ t7 {1 J2 B4 _( h
#menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;}
1 }8 v( z A& q) \其中"menubar"是你自己定义的id名称。注意在前面加"#"号。8 o! x1 _% |( ?: ~) H, _5 n
% l$ }* X3 n" d+ h2 z; k
id选择器也同样支持派生,例如:
- p" z2 }2 J; f2 N#menubar p { text-align : right; margin-top : 10px; }
?9 J+ \- z" `# [! [7 P4 O' c这个方法主要用来定义层和那些比较复杂,有多个派生的元素。" S/ r. O, O% I$ N# ^
' X. p& }! S$ z$ M6 F
6.类别选择器. x4 m8 j( S+ g; N3 N
4 L& ^ k- n1 b2 E9 y在CSS里用一个点开头表示类别选择器定义,例如:
. S3 m( s' X) F.14px {color : #f60 ;font-size:14px ;}
% t& n% O5 e' c2 w" V5 B
" O4 B& s4 e3 V9 g在页面中,用class="类别名"的方法调用:
; O) A5 I1 m1 c$ f2 b% g/ a- r, G4 Y<span class="14px">14px大小的字体</span> # _' C2 W$ R; E- @$ Q2 a) \7 f
, \4 r* N8 `6 i这个方法比较简单灵活,可以随时根据页面需要新建和删除。$ ?! j- d& S8 c$ L9 l% \8 ?
8 v9 Q3 @& m/ Z, T' g8 w1 |& |
7.定义链接的样式
! }/ I+ j0 V$ x9 m ECSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:+ {5 k3 q2 Q- |, J1 C% A S9 ^4 x
a:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}$ \" ^+ O2 |3 T' G8 u
a:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}
; z! v% x' [; V+ Q5 Ga:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}
, B# I8 p, g5 a8 ba:active {font-weight : bold ;text-decoration : none ;color : #90 ;}
3 r# ^/ u3 P* q
6 U. g$ ?) T7 V/ l以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。 |
|