|
|
CSS是Cascading Style Sheets(层叠样式表)的缩写。是一种对web文档添加样式的简单机制,属于表现层的布局语言。
; ^; d/ Z1 @& j+ ~4 ~" l4 f. [
- F L/ [/ Z3 |- a2 H- t8 Q1.基本语法规范
6 Y+ Z5 J+ z; [2 f8 b: n0 u. T1 ~分析一个典型CSS的语句:% l& U4 E! k7 i: w1 ]- a+ u& I
p {COLOR:#FF0000;BACKGROUND:#FFFFFF}
) J' ~: n% ?+ U其中"p"我们称为"选择器"(selectors),指明我们要给"p"定义样式; ( H) L X0 R9 C4 f: F! _
样式声明写在一对大括号"{}"中; [8 W) B' L- G3 T: t
COLOR和BACKGROUND称为"属性"(property),不同属性之间用分号";"分隔; ( ^3 q1 M0 F' @+ x# C) x9 l! P
"#FF0000"和"#FFFFFF"是属性的值(value)。6 e. R* a2 O% q' y: |
* e# w" T2 P* \/ f' g- W
2.颜色值
$ t$ p0 U) J" s( ~* ]
3 ^2 t; }! e$ f* @$ ]颜色值可以用RGB值写,例如:/ t' F8 r' b, a0 w8 n4 K4 \2 o) U
8 U- Q( O( F5 c
% a% R0 K( ?3 n, _+ d ?8 t$ q
,也可以用十六进制写,就象上面例子
' C3 {4 q$ L' t$ u, p: M/ Z2 E* }& W# S% r$ Y9 M* ^" X
$ c$ b, o, _0 \! c' v! D" e6 `
如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。
4 w9 r. O, E! G' U+ V
# q4 l$ y+ c; I% q {! K3.定义字体
, j$ D* k$ [0 E& l) Rweb标准推荐如下字体定义方法% T8 @* `/ G! V5 h
2 _" V- }3 a5 u$ Q- |- bbody { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; } 6 K7 c2 E1 \9 H7 k
字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,;
( E! E# Q1 b8 V5 d9 R0 D( V* ?Lucida Grande字体适合Mac OS X; . O9 _1 U% E1 s# x) F% [) `! G# ~; q
Verdana字体适合所有的Windows系统;
9 Y+ `, _- @- [3 L/ s! y) O% GLucida适合UNIX用户 ( J. S5 Z3 u9 D( O$ `- F
"宋体"适合中文简体用户;
6 ?) y8 w/ _" q: e9 |' \0 ?如果所列出的字体都不能用,则默认的sans-serif字体能保证调用;+ E$ {6 g8 S+ }6 F. l
" y/ o: e) y a4.群选择器
3 c0 Q% A: W: h5 e. x P
4 O, Y$ Y! ^5 Q) C6 W2 T当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,:
4 B# n* h" Z. m u8 W+ k' a. W( \) e p' Y
p, td, li { font-size : 12px ; } & B3 d7 ?0 q7 _
就是给li下面的子元素strong定义一个斜体不加粗的样式
' u6 c7 H3 C3 g( ^ Y v F( N# E
2 E% V# _: ]& g0 U. Y$ }- J/ v7 A6.id选择器
M$ @1 m4 Y0 m* @9 C( C5 ` R" {9 o, \% t6 Z) u3 p/ k4 P
用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层: }+ k, W! E+ A- j
: y5 f- j5 \ o* v
: q/ B. }/ R" t8 N3 u; F- Y然后在样式表里这样定义:
( K( t& q4 X9 Q
( O; y) o7 m5 A8 y* ~4 t0 O: x- k9 E7 b8 V. y; A" Y" ]0 W; X
#menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;}
, h8 T4 s4 r1 `0 s) w* N其中"menubar"是你自己定义的id名称。注意在前面加"#"号。( k9 b, [/ G N3 [6 y
i, k% v" c) P& w4 y0 o0 V* l
id选择器也同样支持派生,例如:
5 Z. \0 ~4 K- [3 U. P: X$ R3 ?$ u#menubar p { text-align : right; margin-top : 10px; } g6 y) H) @4 l0 T i) f! M U
这个方法主要用来定义层和那些比较复杂,有多个派生的元素。0 N) W* ]! g- q* X6 K
& C& n/ |$ F0 g' A! N6.类别选择器6 _" ^; e. F6 e! ^, f' ^
- R- v$ r* M$ ~& s% e在CSS里用一个点开头表示类别选择器定义,例如:
) h" h1 S6 x8 V1 d2 m# |+ S.14px {color : #f60 ;font-size:14px ;} $ D4 _& S) \. a
( Y& b9 n$ S0 Z% X. N在页面中,用class="类别名"的方法调用:- W# Y/ Z7 ~* K# s+ U
<span class="14px">14px大小的字体</span>
5 |# \% r' p0 |1 R% j0 k
- b2 V1 h- B. k# ]+ @- u9 W这个方法比较简单灵活,可以随时根据页面需要新建和删除。0 f- w( B$ [1 i }7 ~
# v9 t( Y" y! ~) [
7.定义链接的样式
, E+ N) {& D0 ]# q8 x5 JCSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:
+ P; ]- m) n6 T( o' s4 n) Ya:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}
# K; ]& B7 N9 R4 P; ]a:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}2 v1 x9 w1 \- [- k( x" E
a:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}6 u7 v) `. @/ P( b
a:active {font-weight : bold ;text-decoration : none ;color : #90 ;} . c" i* P- r/ x5 E! E5 l
( t8 F* q* M0 Y6 V
以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。 |
|