|
|
CSS是Cascading Style Sheets(层叠样式表)的缩写。是一种对web文档添加样式的简单机制,属于表现层的布局语言。
. n, c5 @( f7 D2 ~3 S6 e) t, F% H
5 c1 O4 ^% _* u$ ^4 Z4 g1.基本语法规范
+ d- t, j0 K" A+ a: {分析一个典型CSS的语句:
3 Z5 M C- A p* ?4 F- f7 {p {COLOR:#FF0000;BACKGROUND:#FFFFFF} 2 _+ P( H0 M3 t) @. @: c
其中"p"我们称为"选择器"(selectors),指明我们要给"p"定义样式; 4 S Z2 D& S: H5 Q }" f* Q- j) z
样式声明写在一对大括号"{}"中; 6 f% z4 F5 O2 d% l
COLOR和BACKGROUND称为"属性"(property),不同属性之间用分号";"分隔;
7 E, {1 D+ n; U% v: G* l i"#FF0000"和"#FFFFFF"是属性的值(value)。# d8 g; v$ e3 @/ o7 W1 [
# c: v- ]; M( M6 _ O- C7 U: F2 Y
2.颜色值
% U! z% c k p% N! \7 k; I& |- G* r. Y- U0 g. K' U
颜色值可以用RGB值写,例如:
7 F/ K$ h. e* V+ C2 {
9 q# D1 j2 q& C% F6 B$ k8 {' U9 ?2 ~+ a" O4 J
,也可以用十六进制写,就象上面例子
9 ?- F6 W; e: R8 k; |; d
; R+ K0 c7 `. {; w
1 r3 E+ h i3 K* q" E' f如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。
- ?6 I0 X% L( [; E3 F( x/ N+ A8 i+ O$ _- i3 T% {( ^! @: d
3.定义字体5 Z* k* ^$ w+ S4 i+ x
web标准推荐如下字体定义方法8 n U5 v$ s, }$ V" v
) B7 Q! u% i6 m$ T0 a/ @/ rbody { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; } 6 ~) Y+ Y ]1 j4 V! f0 Z. E
字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,;
& v$ s& Q5 m5 c) mLucida Grande字体适合Mac OS X; % t+ P( a# m5 {6 F3 z9 I$ u
Verdana字体适合所有的Windows系统; $ e& `2 h r* f& o3 ]3 m: g
Lucida适合UNIX用户 4 w& h& q- Z# h) M& ^
"宋体"适合中文简体用户; ) y; v5 q( K+ F9 i: R1 R
如果所列出的字体都不能用,则默认的sans-serif字体能保证调用;
, ^# t0 O3 d7 ?. T% ~1 Y* V
' Q) L7 h- Z0 p% f) S4.群选择器
" ?2 b7 H& n7 {: t: Y% Z, }1 v F, W5 U
当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,:9 A. c$ r0 \1 W1 X
( w4 k R8 j$ x7 n; F0 M5 P p, td, li { font-size : 12px ; }
9 G& g5 @5 P9 x* x就是给li下面的子元素strong定义一个斜体不加粗的样式, E' Q. _' }6 c* R* {4 w! u
. h' G# Z( h) ^5 G
6.id选择器, s- S4 q, z4 {' Z
# t* e. l0 Z0 `2 g
用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层
7 V1 e- W" _0 H" a w5 n3 _! `$ q( Y: e/ c S
8 I, y- f1 L J- a# c: u4 D3 L然后在样式表里这样定义:
3 r+ S( P4 b }, s; N) V9 q7 R: X8 _- r7 D; l$ Q5 `
3 r" B- N: @& l a. Q+ {/ t#menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;} ! M: H- {$ a, }. n' u5 a
其中"menubar"是你自己定义的id名称。注意在前面加"#"号。 C2 U/ R1 A- A) R! d5 {
2 Z+ G- ~. z+ r' P6 x% rid选择器也同样支持派生,例如:
' S* m4 P( F& c9 Q% v: c#menubar p { text-align : right; margin-top : 10px; } # n ~' ~' w5 l6 n9 G8 W: m
这个方法主要用来定义层和那些比较复杂,有多个派生的元素。
* b7 y. P! K4 G/ U' s# C L2 \
6 j! m R A& d7 O0 J6.类别选择器# m6 x$ y7 E/ O$ p; u
: [/ V$ W" F- X/ \7 e% t在CSS里用一个点开头表示类别选择器定义,例如:
$ N7 p" j9 l0 \8 P2 K7 u) T.14px {color : #f60 ;font-size:14px ;} / t$ S# W/ e' P6 h3 l, l# A
% L1 N' g; d6 U3 j8 \% Y6 }' N9 ]6 j
在页面中,用class="类别名"的方法调用:
% ^$ T' Z. |4 B$ I<span class="14px">14px大小的字体</span> # U4 y: P" {, ]
7 o, i3 h, f2 u6 m" w# m1 `
这个方法比较简单灵活,可以随时根据页面需要新建和删除。% Q) b) W4 e- q
" \3 w- }5 C: z p: s7.定义链接的样式
! i' P- K' @: e5 jCSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:
; q- Y* s! ~: Z# v& _9 za:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}
, X- U0 i5 t* X9 [a:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}
# A7 U: V) r7 H- ha:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}' T5 W( u3 `, m/ ^
a:active {font-weight : bold ;text-decoration : none ;color : #90 ;} 3 W$ _7 K0 F9 E9 o
8 X) A) {* I7 l' Q' a% c+ L
以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。 |
|