|
|
CSS是Cascading Style Sheets(层叠样式表)的缩写。是一种对web文档添加样式的简单机制,属于表现层的布局语言。' G& \! O6 i' z7 m5 X3 v; v4 o
6 j7 D3 o; I# `/ z+ a+ c
1.基本语法规范( ?8 @) }- y% T5 v9 N
分析一个典型CSS的语句:# @3 @' x; k* o# A9 e2 n' a7 V
p {COLOR:#FF0000;BACKGROUND:#FFFFFF}
; m) j( g8 r! _4 w' b) D- ]8 x其中"p"我们称为"选择器"(selectors),指明我们要给"p"定义样式;
- r* y2 ^6 I( r2 W6 _6 _样式声明写在一对大括号"{}"中;
$ I$ Q5 j: ^9 H, MCOLOR和BACKGROUND称为"属性"(property),不同属性之间用分号";"分隔; X, h) ]7 Y. z J/ _% q
"#FF0000"和"#FFFFFF"是属性的值(value)。8 F, a* ` \9 ^, V& D& j, q5 [, f/ k
7 b% Z2 m; r S/ ]" n) h6 x2.颜色值6 m' i2 J2 `" @$ l6 F' [/ L5 I
2 y9 L5 z0 X# q# A5 P4 y颜色值可以用RGB值写,例如:
) e5 C1 ?2 W2 C
4 }* E( ?: Y' o, y* I0 i
! Y! d2 q5 ^$ h% o6 B$ y,也可以用十六进制写,就象上面例子# m2 o; P) ?( Y5 }% O0 y
. s9 l" J2 _$ i; z' L
5 W1 @! s- f% Y3 u# X如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。
. R/ M. V$ U$ _. g1 D
! F/ j: [) v+ h. `9 ~3 x3.定义字体5 y' {" G1 [0 y. ?3 J
web标准推荐如下字体定义方法: Q- e, \/ M& E9 [& ~9 K3 |/ U
- Z, W4 j5 H) o) u# F; h8 W. y
body { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; } ; \4 J9 R1 H9 D
字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,; N. G ^# v, D S1 Z7 F% j0 R: _
Lucida Grande字体适合Mac OS X; 8 e; C; H7 {* B# Y
Verdana字体适合所有的Windows系统; 2 f. d6 U; |6 {% ]
Lucida适合UNIX用户 ( `9 {9 n. ^! c7 q' N
"宋体"适合中文简体用户; ) D0 ~! R8 d4 |
如果所列出的字体都不能用,则默认的sans-serif字体能保证调用;7 K7 G; Q, P& R" x8 f
' u5 e j9 h' o1 i2 R
4.群选择器
4 U n5 n- ~/ l3 F, y1 o) [' ~; O4 j, {
当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,: O2 }- F, s2 Q* x7 a0 [5 h; U* a
% |0 O" M* r" J7 |% F p, td, li { font-size : 12px ; } % _, O- o* b# c) B8 L2 X8 c$ T
就是给li下面的子元素strong定义一个斜体不加粗的样式, K/ P o: p. B- j: w( |# c
1 c ]% ~+ b+ \2 Q3 C- L; W: H3 k3 ~
6.id选择器! Y* q$ N! T: y
; }8 Y& A7 b' [: W8 ^0 H: x用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层* Z: k) T4 f: i0 M0 o$ o7 z$ N! L
6 ]% N1 d8 v# P$ ]! X L7 K. M
) P @8 [3 Z* T7 U' n& ^+ c7 W+ M然后在样式表里这样定义:! Y k9 r2 H, x' n3 D' B- ^
! @7 Y& e* p( E3 E( L( G+ P/ W
|+ X, y2 O$ F) o1 o! q; y) O- @
#menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;}
* m9 f6 B# `/ b! c3 j% G其中"menubar"是你自己定义的id名称。注意在前面加"#"号。) j! c8 v7 j% G5 z0 w- m
$ \4 s. G3 _$ ?$ u
id选择器也同样支持派生,例如:
% q/ P- I2 g* I9 O#menubar p { text-align : right; margin-top : 10px; }
% Y7 ~" f4 B* Z! z这个方法主要用来定义层和那些比较复杂,有多个派生的元素。 h- \! X+ {8 o* t& C* B
1 F: i# O t/ j' W: ?0 U; a' _6.类别选择器/ |, P5 X' Q+ a8 P
8 [) L7 Z( {5 Y4 A在CSS里用一个点开头表示类别选择器定义,例如:
8 [+ u; f! L _) y1 |.14px {color : #f60 ;font-size:14px ;} ! ~& O1 u* K3 K- y
9 X$ j' ^0 B/ L8 r4 U' S
在页面中,用class="类别名"的方法调用:) ]9 _3 Y. Y. H0 j# s
<span class="14px">14px大小的字体</span> ' {& `/ h: H4 u h$ t) Z1 H
8 J3 ~: A6 [) F) m这个方法比较简单灵活,可以随时根据页面需要新建和删除。& q. |$ f% Q0 j
" I2 h8 ^# l: ?7 m7.定义链接的样式
9 W, |& G, k% `, f$ |' g: eCSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:
/ u& u% L: Q$ V" [' U, aa:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}
- c1 W0 x. C9 p4 p5 e t5 h; }+ @1 t1 za:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}
" ?4 S) T1 a5 Z: O, Ka:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}
- k# R; v4 I& A& Pa:active {font-weight : bold ;text-decoration : none ;color : #90 ;}
: t# \, `( {& f' o
# Y6 `4 o- ^4 C0 O5 J以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。 |
|