|
|
CSS是Cascading Style Sheets(层叠样式表)的缩写。是一种对web文档添加样式的简单机制,属于表现层的布局语言。
s E( K6 y {
$ I4 [3 b6 A( h" p0 j3 o* Q1.基本语法规范
7 d; E8 g# d3 d( M% }6 r7 u分析一个典型CSS的语句:
3 U5 P' k5 z( X' W9 s( Fp {COLOR:#FF0000;BACKGROUND:#FFFFFF}
# W1 F( e6 i4 v6 U其中"p"我们称为"选择器"(selectors),指明我们要给"p"定义样式;
. C5 v5 P' L2 E样式声明写在一对大括号"{}"中; 3 P ^8 A7 v" \' }) \/ i9 K
COLOR和BACKGROUND称为"属性"(property),不同属性之间用分号";"分隔;
* D; x; i" J8 G* e"#FF0000"和"#FFFFFF"是属性的值(value)。! N* d- q. T7 D% `/ Q
+ n3 j" g/ z$ s* Z* A+ O3 D( m2.颜色值
6 C1 A9 q3 L+ V% {# y) O8 I: A! t
, ]; J [4 t8 k* W颜色值可以用RGB值写,例如:/ V0 H+ U; e% v. C% h* a, C4 A
- a) Z" e! V9 T3 G9 }. z* y
, h; l: q4 F0 j# w# s,也可以用十六进制写,就象上面例子
' [. K* l4 ?+ u9 C( L4 P' Y: W4 X
0 l. L' v, Q+ N7 `" X2 z1 M& B
如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。, }9 m4 ?$ a9 h, H$ ~0 c5 _
, t& x9 U) Y' ?
3.定义字体
1 O) g+ R& K# P5 \+ r5 t9 B4 L! Dweb标准推荐如下字体定义方法
5 q2 Q4 F1 I1 V1 q& e3 r% P
; j( [( t) J( @& a8 Vbody { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; }
2 D) w7 X: y2 a8 O, _) r字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,; $ _7 r. D" ?6 b$ e* _( i' g
Lucida Grande字体适合Mac OS X; ! B1 |' d' M) v/ y
Verdana字体适合所有的Windows系统;
8 t% m2 r! c- g: F+ l N3 ?Lucida适合UNIX用户 $ |1 o, \+ s% R( U9 X7 W
"宋体"适合中文简体用户; ! s+ a+ Y& o- I; P
如果所列出的字体都不能用,则默认的sans-serif字体能保证调用;
: N% Y) r' l* d
/ E9 z) C8 b; s; A: F3 k4.群选择器, Y% Y' ?! b8 k
; B. `6 z( s$ a( [+ ]+ ]1 ]7 b% R当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,:
! ^; q0 F2 A. f' _/ h' B3 H/ i. l+ ?0 q- ]
p, td, li { font-size : 12px ; }
: f, X" L: q {8 f就是给li下面的子元素strong定义一个斜体不加粗的样式. s; _" a" r) m4 ~/ Q
1 h. D( \2 A* t. l
6.id选择器$ A; q% A+ O3 {9 U9 N* }$ F% g! N
% M: g% F: Y" g- }8 o8 N7 O
用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层
' {* t* ^/ N$ W% I. ^
6 ?: u. j4 z8 p( f o }0 p9 W) B
然后在样式表里这样定义:
$ f4 J1 _. Y2 M2 X, I* d% |* z
! B( x- }* e1 ?1 [& S3 g6 Z$ j( z, M& x! A
#menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;} 9 b) Z; p/ U- k8 l: n; `
其中"menubar"是你自己定义的id名称。注意在前面加"#"号。
% v. D q( T+ z# J% b5 y) x2 r) Y! w! B/ K
id选择器也同样支持派生,例如:
& G$ s, ?' ?5 c; y#menubar p { text-align : right; margin-top : 10px; }
7 O' y# {7 S* f% m这个方法主要用来定义层和那些比较复杂,有多个派生的元素。
1 Z+ d* }. [' [5 a7 S& z
$ b h' X! z1 R" z5 O. N j* \* c6.类别选择器
! s, W2 A5 H+ K8 B
6 |+ W' F4 r$ }& [在CSS里用一个点开头表示类别选择器定义,例如:
- C. k1 x! E& O- }8 q4 R! H.14px {color : #f60 ;font-size:14px ;}
# O6 f8 G4 q" Y; `/ |6 U& |! J$ x. X# p) m
在页面中,用class="类别名"的方法调用:
. Y: u6 r6 R- m" j5 V) J* m<span class="14px">14px大小的字体</span>
/ O& \, V( }$ {; u. F
5 y+ u$ i4 F5 ^* ?6 C: z' _这个方法比较简单灵活,可以随时根据页面需要新建和删除。
! P3 `% T( s: J7 l+ B/ r) B" C; @+ F/ S
7.定义链接的样式
$ }- V# O! g* _, r2 OCSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:
1 C3 Z. t4 n/ a% T7 pa:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}
M. A. M: x6 O" i' _a:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}
+ s5 D7 x( N/ S0 W: L5 v( la:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}- x0 W: p% v2 p2 \6 r/ ]
a:active {font-weight : bold ;text-decoration : none ;color : #90 ;}
5 r: A+ J9 u5 X# [/ P, n# d8 u4 Z! t; d) Q: G% W
以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。 |
|