|
CSS是Cascading Style Sheets(层叠样式表)的缩写。是一种对web文档添加样式的简单机制,属于表现层的布局语言。
3 T u$ E* m7 ~' k1 [8 C9 H" f7 ^$ N p1 y
1.基本语法规范
0 Z5 ] J( L: [4 {/ s分析一个典型CSS的语句:! T; v- H# J! M+ N' b4 q& [
p {COLOR:#FF0000;BACKGROUND:#FFFFFF}
% J t; k7 F9 L6 c% r) h其中"p"我们称为"选择器"(selectors),指明我们要给"p"定义样式;
- _* W& @' i$ I样式声明写在一对大括号"{}"中; / Z3 |+ K9 l) G6 ~; k- {) N
COLOR和BACKGROUND称为"属性"(property),不同属性之间用分号";"分隔;
" j7 l( B M8 O* x" c& f! a"#FF0000"和"#FFFFFF"是属性的值(value)。6 Q% @5 q. [9 E6 W
/ p4 J, f* d" ^! P8 A3 D* p2.颜色值$ t% G- G- L4 x. Y% X
/ t. X+ j% D' b' G! g+ y/ n颜色值可以用RGB值写,例如:0 v+ b' }7 b& V3 |- {! V
8 ^8 L2 b' [8 P8 D7 N
* U" d& [6 X- a# ?/ V1 P" G,也可以用十六进制写,就象上面例子
. J9 T. A, _. W, o5 t" p
5 \* q: n3 _0 X3 d9 F+ O% ?) }3 ^; h$ P$ Q+ R
如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。
- W) ^0 s! \; k1 F- D8 Z$ s7 y- z u- n3 X5 Y
3.定义字体* W @8 N3 C# s, \8 ^7 c/ o- }' J
web标准推荐如下字体定义方法& G- P4 m, t, q1 m9 Z
+ w' W! ]( |- j; I
body { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; } & U% k, p. x, c% J, O" g
字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,;
/ S1 k' h. j( [; \+ V' @Lucida Grande字体适合Mac OS X;
0 L( M% x+ a0 ^Verdana字体适合所有的Windows系统;
9 U! ?( v' m% xLucida适合UNIX用户 7 {& {$ h5 N9 T; d! D+ q
"宋体"适合中文简体用户;
/ k/ U9 b9 P+ [7 r如果所列出的字体都不能用,则默认的sans-serif字体能保证调用;8 P. v8 k3 f& i
3 s& ?0 i* e9 b" [9 B1 v/ N
4.群选择器+ X3 u: g( j& n
; e3 U% X3 {: F* K* \9 @/ R* X
当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,:
. [8 b* P9 l: ?5 }5 ^& I. T6 t1 X0 j5 @
p, td, li { font-size : 12px ; }
, n2 @- G- C3 ?) M! X% b就是给li下面的子元素strong定义一个斜体不加粗的样式
5 ]6 L. R/ y7 |% O; X$ c u# [+ V9 f2 k# n6 b' J- b5 P/ X
6.id选择器
$ f, j7 B! ?- F/ J
5 L: b# h2 o# y& F4 j8 F: V用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层 C9 g! Q4 O, c/ k8 }: ^
]# e" O+ b s3 i: B0 P. N( V* Y3 n9 a# \) h
然后在样式表里这样定义:* h- z1 @* {$ ]; j6 O S7 n
8 I9 C) V. x. Z
6 t- K7 S( f4 O" w7 K#menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;} / x- e- h' Q7 o3 n* _
其中"menubar"是你自己定义的id名称。注意在前面加"#"号。
1 y% e5 Q/ m3 K; _; t% _( C% @, O: G# a8 W0 ?
id选择器也同样支持派生,例如:4 x& b. E8 E0 \; S
#menubar p { text-align : right; margin-top : 10px; }
/ J; s8 O; E! l9 E3 R; j" P ?这个方法主要用来定义层和那些比较复杂,有多个派生的元素。
- z8 [; G" i& k* `" E0 `& a, e I! R9 c1 O4 E
6.类别选择器
) O8 x: f" {! R& @0 d% v* ^- j4 H8 L+ C5 f* u: h' E
在CSS里用一个点开头表示类别选择器定义,例如:
2 n+ L& T9 H+ c: m0 ].14px {color : #f60 ;font-size:14px ;}
/ }* C6 q* I& S) V9 v# x
) ^: X4 ]1 a$ x) _" ^在页面中,用class="类别名"的方法调用:0 @* u3 P3 Q, Y' C" E( A2 b
<span class="14px">14px大小的字体</span> * h) `1 R3 ^ r
' y% V' C- H. c; R2 w& J5 o% v这个方法比较简单灵活,可以随时根据页面需要新建和删除。. V3 h1 z7 W& `
* X" m8 `: B, S7.定义链接的样式
) r4 p: g) L/ y: \: C- RCSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:1 p |* P% B+ ?) d3 t
a:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}" a1 k3 A' u# E- X3 L
a:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}" @1 D& x8 g; Y
a:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}
: y/ T, L. ?; ?, O- W/ |' @$ _8 ga:active {font-weight : bold ;text-decoration : none ;color : #90 ;} 2 a: N9 |# A9 [& K
* I# A7 I8 l$ U. P
以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。 |
|