|
|
CSS是Cascading Style Sheets(层叠样式表)的缩写。是一种对web文档添加样式的简单机制,属于表现层的布局语言。
" _: s1 T1 | ]! Z `; C& i; Z& _, f* A" s' [* y
1.基本语法规范
# |. P& [+ }" H5 S/ I8 \分析一个典型CSS的语句:
: v4 n1 z6 |' j3 v1 s7 r) Kp {COLOR:#FF0000;BACKGROUND:#FFFFFF} 5 N+ s4 F9 }5 o N9 M; F
其中"p"我们称为"选择器"(selectors),指明我们要给"p"定义样式; / B7 X! x: z# A; z; a! I
样式声明写在一对大括号"{}"中; ; R* F+ a; N. T6 e
COLOR和BACKGROUND称为"属性"(property),不同属性之间用分号";"分隔; 7 {- g6 U0 f f) y- e* `& j( P! ?) J/ r
"#FF0000"和"#FFFFFF"是属性的值(value)。
0 S0 |. V9 e& m( I/ E5 X5 A4 j
, o( H& R9 `) j \: ] x" U) B2.颜色值
5 o9 ]" b- _/ ?3 V3 q. m; k! {3 ]
6 V$ t* T( ]4 S" S8 p( t% ~0 m* K颜色值可以用RGB值写,例如:! j( ?* v" t7 v. y W9 D& _
. G* A3 c" J- { c
O- y" i3 f. I( l,也可以用十六进制写,就象上面例子+ o, S+ @% `$ v3 ^3 {( \
- Q/ e& W" L6 v( d; c. {
4 g8 l6 C! v/ `5 D如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。5 x( N8 w8 W# r2 f% b, s+ r) l
/ k/ `* U, v; _- b1 ~( s. M
3.定义字体5 B3 N: q/ s5 u) R) N3 w3 g
web标准推荐如下字体定义方法
# J- J. n6 }. T! i8 ]" e
( Q4 l8 e" Y. p# P1 L5 k. `* Qbody { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; } n2 B3 [" ^+ _4 q, X
字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,; " s1 `% |, X( T, f' H
Lucida Grande字体适合Mac OS X; # s0 g) E/ z2 @% U, K/ h0 y% W+ A
Verdana字体适合所有的Windows系统; # t- H9 z: d: [( u Y; h
Lucida适合UNIX用户 * Y5 Z9 O) m. F5 o" U5 N1 h
"宋体"适合中文简体用户;
9 M* a7 w% _8 A' C9 O: P9 _$ ~如果所列出的字体都不能用,则默认的sans-serif字体能保证调用;
+ H; d; }& h- H; W8 J" r
E% n) n% L3 F, S4.群选择器+ E0 m( {$ A" W6 W5 W1 a. U
: \& n, y( Q3 B6 G) B- i2 y7 {当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,:
' P2 ?% E. D' k7 e
# L% B: W( D! M6 R$ A p, td, li { font-size : 12px ; } 6 c3 T L' [! b& Y; u- P1 o
就是给li下面的子元素strong定义一个斜体不加粗的样式
+ X8 }4 P' u. M& ]" G& c0 y5 j4 T$ s/ P
6.id选择器
; V$ [! p0 l) V$ d9 |
# U5 [8 v. m8 }# a! J! O* i+ \4 N* M) o用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层
' u) d4 _; F( s6 b) E- `; {
- u( c# G6 Q2 q6 K8 t" g+ e4 d
- y. p2 C* a# ~$ a [$ o% ?$ C: I1 y, S然后在样式表里这样定义:
( Q2 W% P, R ?' e. r" ?# C
' ?& @ S! U$ w; P
" Q% q3 k$ s# O" P- ~2 @: R: \#menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;}
. {8 h, e7 l5 x& }其中"menubar"是你自己定义的id名称。注意在前面加"#"号。7 K8 Q0 J9 O& W
7 y9 X& p. f/ V( K/ H% {, I9 ~9 ]
id选择器也同样支持派生,例如:/ c. _% M: u/ u, `
#menubar p { text-align : right; margin-top : 10px; } : Z* H* D, b8 l# i) j- R9 u* c
这个方法主要用来定义层和那些比较复杂,有多个派生的元素。! s. {# e* O7 q$ N: O6 g
2 a/ E$ p% d! b$ H* ~. @$ k
6.类别选择器
( f9 X8 q# l) V9 ?! T h
- t# B0 i2 i. T' _! H0 ~+ h- s9 o在CSS里用一个点开头表示类别选择器定义,例如:, c6 ?2 z1 o; }' J
.14px {color : #f60 ;font-size:14px ;}
r) W% _$ F" X
7 P- \) M8 z* f3 W- f9 l在页面中,用class="类别名"的方法调用:
7 W. O5 ~* i/ T; w1 e<span class="14px">14px大小的字体</span> 8 K5 c- A3 B6 {" e2 p8 G2 R: V
! B' \4 q g+ S# t& q) o这个方法比较简单灵活,可以随时根据页面需要新建和删除。
* S; x/ j& @( R3 N
; F9 [6 y; }% d& x- ^0 s7.定义链接的样式* i# u# n) G \ n. j# r
CSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:* F! {1 E5 e6 j3 A
a:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}3 F8 d: i0 n0 y/ V
a:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}# O# @, U, Q6 w6 B* r, \4 P6 L% m3 j8 ]
a:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}6 K" T1 r. ]& a4 l6 t8 O
a:active {font-weight : bold ;text-decoration : none ;color : #90 ;} ; o+ J: u# v6 E1 R( }; D' t2 ^7 u6 n
1 m' c; m) N* C: S9 ~以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。 |
|