|
|
CSS是Cascading Style Sheets(层叠样式表)的缩写。是一种对web文档添加样式的简单机制,属于表现层的布局语言。2 T. c2 `/ Q0 V" K
5 M) v5 g7 ~" C: I( q5 m* x1.基本语法规范
$ g. [, [- ^. x# f分析一个典型CSS的语句:4 H/ T& E+ g- n2 V! a/ W
p {COLOR:#FF0000;BACKGROUND:#FFFFFF} $ c" z4 d+ w, X& ^+ ^' _4 P
其中"p"我们称为"选择器"(selectors),指明我们要给"p"定义样式;
+ v3 u4 b+ j0 k样式声明写在一对大括号"{}"中;
, d6 F* \1 Q/ r! p1 ~+ M# J/ ]COLOR和BACKGROUND称为"属性"(property),不同属性之间用分号";"分隔; / G; `0 Z! J& U6 k7 _! u6 ]' o
"#FF0000"和"#FFFFFF"是属性的值(value)。1 |; G4 k3 h* v& k+ I* a+ v5 r
5 j+ i \! J4 O. z2.颜色值# R! P# ?. M: H: w. b1 S
' u6 R( ]" B2 U8 d4 F) n/ ~颜色值可以用RGB值写,例如:( J5 E* j+ y% S. U( G8 n5 @# H
' i& d7 |9 U8 ?9 K
* R0 M% |9 v. Y8 \: P8 _,也可以用十六进制写,就象上面例子: p8 b1 T% I9 k& t
1 ^. J( `; `- B0 u
( d' }4 U# X0 n3 W/ T
如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。
, @2 D# M9 _ D5 b8 x* g
& \' w- t" n6 u. I* n4 J- R3.定义字体
I) ^- C/ ?4 \0 pweb标准推荐如下字体定义方法$ B& p( V, C4 p, L. x
! o- i4 f* K1 ]" hbody { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; }
, t2 t* w9 x ]) L* `8 j字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,; ( i3 m" c) ^+ u0 ^) K6 M! c# K$ b
Lucida Grande字体适合Mac OS X; # |" S1 O; j) p5 d
Verdana字体适合所有的Windows系统;
3 P7 V- Z$ k3 dLucida适合UNIX用户 / _! ^( p+ j8 S2 \. d0 J& v9 f$ ]2 p
"宋体"适合中文简体用户; # C& I0 r) J; X1 q' a. Z
如果所列出的字体都不能用,则默认的sans-serif字体能保证调用;9 ?2 v0 t8 I7 [& M) K1 H6 d
+ Q* H! M+ Z- _6 q4.群选择器
; @& s5 d2 T8 x3 @, P+ K
9 b- p5 [1 R3 M2 I: B; k6 K+ R当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,:! ^1 ~+ {- U: l& k- ~
, H: F5 C' g8 h X
p, td, li { font-size : 12px ; } / G7 B0 H. s* N% a/ E
就是给li下面的子元素strong定义一个斜体不加粗的样式
" H1 [- s8 {& N8 V! b+ A
8 t$ T$ X( G f0 W3 y2 K( A+ j6.id选择器7 }9 Z# K, h9 o k+ J2 l% }) K
* O; e* X C$ m0 w( W用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层3 c5 `+ {: J$ _$ r
& c5 C8 _2 p9 |" R# p% f
7 @( g$ o2 V2 @# ^然后在样式表里这样定义:: s; N2 k; @7 b$ A# c f4 y
. f* e' f# a( K( X, E+ _4 Y4 T- z8 L% P
#menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;}
& e% S& I Q. }其中"menubar"是你自己定义的id名称。注意在前面加"#"号。8 [- M. `& y# u8 e: u
4 Z3 ~4 X4 n1 I& M5 l& s
id选择器也同样支持派生,例如:: t3 s/ { B& B4 X
#menubar p { text-align : right; margin-top : 10px; } , E9 c6 Z/ L! _$ u* u% k! m
这个方法主要用来定义层和那些比较复杂,有多个派生的元素。
- c5 \! N5 @5 p' O
0 [0 R# }! U1 P5 I, ]6.类别选择器1 R: w# _" g- {5 t, K" k8 g
0 ?6 e: S$ j5 I. U在CSS里用一个点开头表示类别选择器定义,例如:
5 r8 b3 h# \( U+ v, g& p( S.14px {color : #f60 ;font-size:14px ;} * q' ]9 i6 U) c `$ d
7 d1 C& h+ S5 U) a( O- e' X7 d
在页面中,用class="类别名"的方法调用:
?8 p' N; I9 {/ {8 `<span class="14px">14px大小的字体</span>
& F* {* B; `1 Q+ j- u0 T9 [ A+ k; |/ k! g. X
这个方法比较简单灵活,可以随时根据页面需要新建和删除。0 t* l/ x9 g. R# h* q. _
- J( S K" f3 N; w* _% n
7.定义链接的样式1 c, L% h( b) j) `; c0 [6 A+ g
CSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:0 V7 v$ x/ ^" k$ W& H
a:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}) `6 a: U0 {3 j6 g: d+ U I( M
a:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}* ^1 _! o+ w! c; l
a:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}2 X% L- g! l' c# v7 _. h
a:active {font-weight : bold ;text-decoration : none ;color : #90 ;}
0 a- w! b* H2 h. V# z; C$ ^8 v- H0 @: J& {" a2 |
以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。 |
|