|
|
CSS是Cascading Style Sheets(层叠样式表)的缩写。是一种对web文档添加样式的简单机制,属于表现层的布局语言。: d$ |, L- q7 R
$ V0 q: |: A9 g% N# ?- K! s! p1 {# T
1.基本语法规范
1 g8 R& s( {) \& T分析一个典型CSS的语句:
! ?0 N) P* h1 w) J6 m4 {$ L( I, cp {COLOR:#FF0000;BACKGROUND:#FFFFFF} $ @1 E' k) W$ f& C ]. C, ~7 S
其中"p"我们称为"选择器"(selectors),指明我们要给"p"定义样式; ! q; Y2 c, y3 [$ `
样式声明写在一对大括号"{}"中;
4 R: s5 E1 m" \: g6 g4 w& {COLOR和BACKGROUND称为"属性"(property),不同属性之间用分号";"分隔;
; R2 @+ B4 n& r& ?6 C5 M; ?"#FF0000"和"#FFFFFF"是属性的值(value)。
% q9 _- W1 f2 T* T8 K! e- F- }7 `
2.颜色值
% @1 ?4 T8 Y- T2 S* }/ a
! S8 U: P% g" N- @( x" }# K- d颜色值可以用RGB值写,例如:
J# n- W% v1 F6 a
2 t- ^ Q5 [$ Y9 K( d3 s+ f6 F
. ]+ b& T0 X' Y- ?3 h. \,也可以用十六进制写,就象上面例子
$ G. z: d4 h5 \6 n% b9 Y
; r& \) O8 v% m6 Q* T
: ]5 N5 j" r( u0 P如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。! A! _) R/ h6 y" b3 T
$ b! l; ]1 V. t* A% b' W/ N4 K
3.定义字体
: I7 j4 @ s3 h2 _) ~3 N5 O7 iweb标准推荐如下字体定义方法
e- B3 W* W* e5 e- o! ~( g0 X
body { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; }
) p& r5 X) w( }2 x. \字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,; ; a" y' Z; X* ~: c9 [
Lucida Grande字体适合Mac OS X;
; t; J; I [6 d3 @/ }Verdana字体适合所有的Windows系统;
/ H% @* D% y& g1 h, n, ?Lucida适合UNIX用户 ! J! @+ i: J: L- l1 Q8 v
"宋体"适合中文简体用户;
" i8 ^/ _4 D' X b. e7 J如果所列出的字体都不能用,则默认的sans-serif字体能保证调用;
P/ ]5 D. f4 e$ S2 r2 K0 O0 _4 w2 Z! E: N9 J
4.群选择器# K0 F; x F8 v& F* ?0 N8 h
! ~; f, o1 ^; Y2 Y8 i: m
当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,:
: Z, K) U# p! B0 P# h9 `
) s- y( u/ w3 g! [/ }6 X9 }" F+ G p, td, li { font-size : 12px ; } 5 D M6 o3 D7 h. [, i2 [" U
就是给li下面的子元素strong定义一个斜体不加粗的样式" y( r8 U) |7 u% K
' j6 V) |, F5 ]0 U; C8 n6.id选择器
" e) ~- `) |& K
. R3 v# \2 E- @8 i0 P用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层
9 W* ^9 d' p3 Q* W9 C
7 H' c" p" j; e7 s2 f9 v
) Y, w. D' t1 f9 b然后在样式表里这样定义:
! v* j4 v: N5 A" k! t$ ~( a+ x1 `6 D- d; F. w& J7 ?7 j/ U
G3 M1 z- b* c9 R
#menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;} ) V0 [6 L: `, T( k/ ?' C
其中"menubar"是你自己定义的id名称。注意在前面加"#"号。6 G1 V+ `* `! O( H: P" }
( \7 u' ]# i/ }1 ]+ t' jid选择器也同样支持派生,例如:
1 u: f) ]4 F( j. G0 R7 G#menubar p { text-align : right; margin-top : 10px; }
' c; S8 P! }/ g. l这个方法主要用来定义层和那些比较复杂,有多个派生的元素。
/ s7 T5 |7 U8 h# n8 z t
9 X' P. V0 k- U4 [! V8 `6.类别选择器
# @; }: N: \# g# ]
3 \% \( v# v1 B( `5 e在CSS里用一个点开头表示类别选择器定义,例如:
, E8 m# P) e4 p7 h.14px {color : #f60 ;font-size:14px ;}
, p- O3 ~8 q: K# O7 L4 h) p5 C" @9 T, m! O- r) d9 Q- k
在页面中,用class="类别名"的方法调用:& Y4 G0 Y) D) T U% n1 R
<span class="14px">14px大小的字体</span>
+ ^2 _9 ]1 ~' N* b$ A
1 ~6 H% Q U' t3 e( `$ [+ v这个方法比较简单灵活,可以随时根据页面需要新建和删除。/ [' ~; w8 p" U1 D
9 i3 a; N5 }1 _
7.定义链接的样式
8 Y& }) I( g: q( {CSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:! k% {5 R4 |/ I6 l1 j! X& c
a:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}
9 P8 |/ Q. X' S0 ~1 M# ?! R; a& oa:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}5 ]: W' |1 N. Q" u
a:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}/ w9 q, K3 h: k' r. S2 h
a:active {font-weight : bold ;text-decoration : none ;color : #90 ;}
5 z9 |2 l& e: W1 O( r
: U* n" n/ S e9 O* P* K7 D$ v1 i以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。 |
|