|
|
CSS是Cascading Style Sheets(层叠样式表)的缩写。是一种对web文档添加样式的简单机制,属于表现层的布局语言。
* K- a- M. @# g0 N9 I/ W6 ?: x% P* T: B# p5 Z' S- A
1.基本语法规范" ^3 B# Q! C# c7 J) ~. Q' ]0 _7 O; O
分析一个典型CSS的语句:
6 r% r$ }( U4 V( p% \6 q) up {COLOR:#FF0000;BACKGROUND:#FFFFFF} 9 b" g9 G- x' r R1 ~% O0 @
其中"p"我们称为"选择器"(selectors),指明我们要给"p"定义样式;
5 l- r* d. n# f样式声明写在一对大括号"{}"中;
# w: R" ~$ g; p) _/ uCOLOR和BACKGROUND称为"属性"(property),不同属性之间用分号";"分隔; # F' ?2 C7 I8 d% e7 p! w
"#FF0000"和"#FFFFFF"是属性的值(value)。
L% p {$ @! ^4 h4 b2 K. Y5 D* I4 p! p0 y5 j
2.颜色值" @* B% J2 _ p$ A! K: m* y
4 F/ F3 f5 I* m2 ^颜色值可以用RGB值写,例如:" ?, Q' F1 ?% \: I6 q, v4 c, A$ ?
: Y# U) a; C# i/ d3 H7 P5 J. e( u+ G$ c, f9 J% c9 |1 p
,也可以用十六进制写,就象上面例子
: m ^% q2 S! o3 A+ O4 T, R& h1 g1 F. F) k. m. P
3 g* Q* b' J" a3 b
如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。
* M, q, d9 Y3 H/ }3 ?4 V
/ s& e1 {, ^$ c3.定义字体
& s7 l! G- e+ P9 ^5 G- [! Dweb标准推荐如下字体定义方法
; @2 J+ Z* m5 f4 }
: B$ c* Y4 F3 M( j+ {body { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; }
3 `' j) D5 @4 a" d) ^字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,; ! `% K4 }; G+ u- N( Y5 Q) {
Lucida Grande字体适合Mac OS X; 4 ^* B# @4 L. q) ~
Verdana字体适合所有的Windows系统; 7 l2 Y6 O6 u, u, h3 r/ w$ z& P
Lucida适合UNIX用户
1 w* k4 X! F1 V"宋体"适合中文简体用户; 9 H y& A+ Z) w3 G$ W1 Q( R
如果所列出的字体都不能用,则默认的sans-serif字体能保证调用;! E+ d9 x! G4 H/ m) A
# d. E% Q2 G) P& s( f2 k
4.群选择器 S- _0 n( S% G3 n3 @! M
* D8 O) G: X% Q$ @4 t# r% c当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,:6 c: t6 [1 L! s: ~2 l
) p8 A4 p. O! A/ F Z4 D1 H
p, td, li { font-size : 12px ; } 7 f2 M: {, g$ J! ~6 ^
就是给li下面的子元素strong定义一个斜体不加粗的样式
1 k1 G; Y$ |4 C9 q& g6 d1 x1 e# Y" T, ]6 F
6.id选择器
+ S- Y+ Y. O( R
! o. T) l& V" r' [用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层4 r" R' ?+ W9 c4 N- C% i' O; |
0 K- A) A# D6 p# U6 D* E5 {- g" Y9 ^6 C6 ?
然后在样式表里这样定义:
8 l/ |: v4 b6 ?" l- F
3 c4 E' t: L2 \
$ E, @$ }6 K$ z9 P/ h8 M, ^* \7 t#menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;} , U; H6 v) _3 d6 @5 |$ D$ @/ n
其中"menubar"是你自己定义的id名称。注意在前面加"#"号。
* J; b0 B. @: Z6 v# p9 L
, m8 g& b9 I- iid选择器也同样支持派生,例如:
' w$ b* k' ]8 x: X. C#menubar p { text-align : right; margin-top : 10px; }
$ Z* e4 G# X& ? [% t) F; d这个方法主要用来定义层和那些比较复杂,有多个派生的元素。
7 r/ f, M6 j6 |1 q: x/ V& w
j& P" t$ [) R+ C# N. a6.类别选择器9 t: ]; |' G& G* @# V: |
, X) z' l& U. n
在CSS里用一个点开头表示类别选择器定义,例如:' `3 g1 f0 w0 n
.14px {color : #f60 ;font-size:14px ;}
( l! j: M/ ~. h( r) v% F9 L) ?5 v
. z+ g2 H2 A/ `+ S2 }- }7 N& V! ?, z; V在页面中,用class="类别名"的方法调用:7 V4 t! ^4 X% H1 [5 X7 d
<span class="14px">14px大小的字体</span>
' K: H$ I7 E- T2 L1 |2 z2 r' `. k% Q" q
这个方法比较简单灵活,可以随时根据页面需要新建和删除。
6 J2 ] h, e7 r! Z9 y. R
2 Y" C2 [- q) }' N7.定义链接的样式3 K9 o' S' s% D; I
CSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:/ ~% q7 b' G( L( q: O
a:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}
9 L9 w" k% g: T$ H/ }8 Ua:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}* p, i" U/ g, g; N
a:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}0 X$ i' N2 G0 E$ j& M
a:active {font-weight : bold ;text-decoration : none ;color : #90 ;} 9 K% w9 @; S! K# G, X# E
) b6 A8 ?" }* x( d7 y# f) e! j
以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。 |
|