|
CSS是Cascading Style Sheets(层叠样式表)的缩写。是一种对web文档添加样式的简单机制,属于表现层的布局语言。( q+ E8 b$ m( _" w2 ^
% K+ @1 o, P7 r. w1 X: g* A
1.基本语法规范) Q1 S! q, O1 B$ @' o* T& B% J; i
分析一个典型CSS的语句:
: p' Z; ?, |% y7 d$ Rp {COLOR:#FF0000;BACKGROUND:#FFFFFF} ( S3 w5 S4 _& \8 t
其中"p"我们称为"选择器"(selectors),指明我们要给"p"定义样式;
1 H4 g/ d0 [. l* g7 Y$ E样式声明写在一对大括号"{}"中; 0 D9 {/ P7 N/ Z7 h9 v- U3 [3 h7 o# i. i
COLOR和BACKGROUND称为"属性"(property),不同属性之间用分号";"分隔; - ]% n+ }/ u5 f8 n- A) T
"#FF0000"和"#FFFFFF"是属性的值(value)。# B" u T( P/ g" J/ M/ e. g1 H4 M6 l% y
. l( _' D2 t7 u F, L' f5 M2.颜色值
/ H& T" T9 N* O% x7 m9 N& M
8 ?' J5 L B& O2 {3 h, ~颜色值可以用RGB值写,例如:* e0 x, L, t: ~+ x& N
4 ^5 L& N D! @9 C/ x
. g# V2 b$ a n, f* t0 @- R8 p,也可以用十六进制写,就象上面例子
, [( b! L, @9 G* O8 ]
4 b2 R$ P! H* b9 m& t) t% e& j( X
" M D' O% L9 ?0 x如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。3 t' I6 H8 b {: B& I; [: y
9 V8 a' V8 d9 o" J% P+ I7 x3.定义字体
1 v. o0 V% V- [- R/ T& aweb标准推荐如下字体定义方法3 G2 |7 [1 m; x- F( S0 e; c
+ G; G& A+ _' y- Q/ r) ebody { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; }
[3 T4 U( S8 i8 z5 f, w# h5 V字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,; 1 w' c9 Y$ I" P/ p4 l
Lucida Grande字体适合Mac OS X;
4 T6 C5 w+ ^/ n% m/ U! n0 E3 W4 jVerdana字体适合所有的Windows系统; - C5 t7 d3 V' Q2 ~; \* o! R9 q
Lucida适合UNIX用户
/ q$ U4 Q; ^2 E- u7 X- C"宋体"适合中文简体用户; ) ]9 N) m r2 z& s( D; c7 r' @ K
如果所列出的字体都不能用,则默认的sans-serif字体能保证调用;
- _3 E: f- v' a u* c7 [" V+ J
3 {/ d- h& }2 c4.群选择器
/ Q' B0 Z8 v( [0 ^4 K1 ~- b
$ J9 n) W8 @. S( Q4 }; c当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,:
! k( r7 Q6 M6 z# i& Q m( ?# |8 D2 d. n% V0 s0 y
p, td, li { font-size : 12px ; }
* A" _4 P+ f- l, c8 H就是给li下面的子元素strong定义一个斜体不加粗的样式. C" _- P4 R: {' i' \6 Q9 p' I
* ]. g8 q8 o5 [5 J2 O6.id选择器
0 y$ j M5 G1 D; ^' i: J4 D7 |7 ~/ p) h/ h1 e
用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层
5 `* A5 n$ A; p" V0 p x3 A2 J. I* i0 p2 t* m$ E a; ~3 K
J2 |9 U1 p& |1 v2 i
然后在样式表里这样定义:7 `+ c( w6 v% S) F5 J3 o9 \
# Z7 B+ I6 Y% Z; j5 A9 j
$ }, M+ v. z/ c* _9 h#menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;} 9 [$ h f7 r; W5 r$ R5 |$ C
其中"menubar"是你自己定义的id名称。注意在前面加"#"号。% h- {$ \- E7 Q# A2 E5 a9 w
* O* \% I0 q1 y
id选择器也同样支持派生,例如:6 r! c* s0 ~, O# S- R' s, U
#menubar p { text-align : right; margin-top : 10px; } 0 ^3 H, ~* y% t' [8 f- V# M
这个方法主要用来定义层和那些比较复杂,有多个派生的元素。
4 {* Q. ]. K% ?2 W/ T
2 O, H1 K7 s( E3 `4 @: ]- S$ y6.类别选择器
; o& w. G' h4 w) z( U9 \% K, l: y2 |
在CSS里用一个点开头表示类别选择器定义,例如:
) f) F- r( t3 ^6 X6 D.14px {color : #f60 ;font-size:14px ;} 2 ?# J5 W. A" D& O- F
" ?+ L' D0 C8 J在页面中,用class="类别名"的方法调用:
$ m9 W+ v$ B) t+ O; U<span class="14px">14px大小的字体</span>
' r- [+ T. C- O& [, g' m7 h# I# Z+ `) s: `( G. {
这个方法比较简单灵活,可以随时根据页面需要新建和删除。0 j) o' ^" d% r& a, T, W3 h" W
0 x: u6 ~! g$ y2 ]4 u ]1 Z+ o- y7.定义链接的样式
! A7 `0 Z) b1 H( I6 q% LCSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:! d0 [8 k9 H6 G0 R" j+ x
a:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}: F) Z8 M. _2 r$ M0 d
a:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}
a. v3 q9 h) V8 @, Va:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}
4 T u, P4 t0 K; @a:active {font-weight : bold ;text-decoration : none ;color : #90 ;}
) Q6 ^3 e2 ?, B; z% P7 ^4 O" q. h+ T) }6 l" \' j c" t& I$ q) m
以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。 |
|