|
|
CSS是Cascading Style Sheets(层叠样式表)的缩写。是一种对web文档添加样式的简单机制,属于表现层的布局语言。
2 C8 K, T- r) ^3 n1 ~; Z. J) M% W7 B% @% D; ]* `, p' ~; j
1.基本语法规范$ P5 V4 ~# k( ?9 m, V) v
分析一个典型CSS的语句:
& S6 ?5 y% y& |% Mp {COLOR:#FF0000;BACKGROUND:#FFFFFF} : \1 D# `7 g4 S/ n1 Y, r4 g$ `
其中"p"我们称为"选择器"(selectors),指明我们要给"p"定义样式;
) w+ w2 f2 ~, m2 x( A样式声明写在一对大括号"{}"中; 3 h x' P/ R7 q" G" G, P% r
COLOR和BACKGROUND称为"属性"(property),不同属性之间用分号";"分隔;
1 {6 `- [9 y4 W% j: C# g. Y"#FF0000"和"#FFFFFF"是属性的值(value)。
7 |/ A$ |4 @- N, f! q6 D2 N( S# S1 K) t
2.颜色值& B" q- P" \5 a/ w6 A' L5 h/ {. l$ h
: H* j1 q* B3 r7 m; @, A8 U颜色值可以用RGB值写,例如:7 d& M }7 H: G0 u0 _4 r
7 R2 e) D9 T* A/ X4 {" ]
8 P! O8 l9 B2 u
,也可以用十六进制写,就象上面例子, {6 a! h' J( E
* k) D0 o8 c: k+ E& S; E
! a% @ b7 }6 F. g/ g
如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。
1 N1 @1 [5 y( ?1 K+ ?) r* u: E3 V8 z; {
3.定义字体
( b* d, [0 q+ C- | H! M& k$ G" p+ Dweb标准推荐如下字体定义方法
) a. v2 G @1 O$ d% A$ [- t8 ]6 f( h- ]& R# {
body { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; }
# y8 Q# b1 b2 h4 B* M1 X0 m O字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,; 3 H. N* d0 l G/ \+ h! ~
Lucida Grande字体适合Mac OS X; : |3 S. G( R* F0 ]& o* @, q
Verdana字体适合所有的Windows系统;
6 \) y, `) A! Y& PLucida适合UNIX用户
, ]: g) g- I! `7 r1 |"宋体"适合中文简体用户;
! I2 n7 Z# b$ v如果所列出的字体都不能用,则默认的sans-serif字体能保证调用;
1 q! J* w; A$ @5 K: H: R# g+ X( Y1 ~- A M+ J# q2 c0 {* f
4.群选择器$ R" U( \* a! P& y m5 {' b
* {! ^& [: p' `
当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,:! y/ s5 S& l0 s" H ^/ e {. Q
7 V( k2 x5 H1 j
p, td, li { font-size : 12px ; } 0 V j( z6 P- i! B( b0 m
就是给li下面的子元素strong定义一个斜体不加粗的样式) I+ O: e' {1 n' y: x2 V# d* E- G
5 q) o& _ X! E" V0 a+ K
6.id选择器
& R3 @$ u+ M5 b6 c" D% A6 i! G4 C
* v. Y ~* z! k, c* A# l用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层
7 o+ U' { b: `, O; }: w) p. U* V0 m8 e$ g
9 ], X) I3 _# c' ^" j
然后在样式表里这样定义:6 x( y1 o/ t- k3 R# |2 t
) T* `& k& K7 m+ w, j/ [$ M
8 |& ^% X, V( j6 ^#menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;} 1 z0 a9 Z6 m+ w$ G4 u
其中"menubar"是你自己定义的id名称。注意在前面加"#"号。
# W/ a P; V5 p4 u! W" e% @7 |9 K% l
& ?4 B% D3 Q( @/ j% @id选择器也同样支持派生,例如:
0 k/ H( q( L) d/ F9 M#menubar p { text-align : right; margin-top : 10px; }
! y6 t6 e" |- c& |$ F8 r& a: H这个方法主要用来定义层和那些比较复杂,有多个派生的元素。7 A9 B5 I. ?5 V) h' g0 e) v
$ R1 m1 s0 p7 I; I; j* V6.类别选择器 K& W, w: t" B5 Y; r0 m
2 i% n7 H# j. ~' [6 S y
在CSS里用一个点开头表示类别选择器定义,例如:: J* G; b( w9 b6 q* t& W$ A
.14px {color : #f60 ;font-size:14px ;}
+ l6 k0 { c4 g8 w ?
2 {' \% ^3 z0 }; s; g在页面中,用class="类别名"的方法调用:! j. y/ M3 T1 t; b7 M) a0 a
<span class="14px">14px大小的字体</span> + P/ M" o- R; \# C ^' z. q; k
/ H7 f) q: r! G E
这个方法比较简单灵活,可以随时根据页面需要新建和删除。
& o* K& k& F3 a/ n1 [$ ]* W1 \7 m' z% d8 a* T
7.定义链接的样式
5 Z$ U1 U0 F+ \: G# X nCSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:7 p* Y! s# U& ]* j, {$ k2 L* I+ k
a:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}% Y! v; |5 O+ h% N2 `
a:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}* f6 F) J+ e. ]" X% z% @0 e
a:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}% e1 j1 D# K7 O1 m4 O; C3 O9 d- l9 y
a:active {font-weight : bold ;text-decoration : none ;color : #90 ;} 1 h7 f$ ?/ d+ D* A6 i' U0 Z
! W$ M. p6 N% _以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。 |
|