|
|
CSS是Cascading Style Sheets(层叠样式表)的缩写。是一种对web文档添加样式的简单机制,属于表现层的布局语言。
( C B: j0 g$ s# e! h( n7 |1 o/ A! K) Q, l9 J
1.基本语法规范, Q7 ?& c, f, c4 d! q( Q1 X8 p
分析一个典型CSS的语句:
+ z7 x3 I I) F0 }9 \ a% q. c Ip {COLOR:#FF0000;BACKGROUND:#FFFFFF}
: q+ R/ C1 V+ }3 j4 @) x其中"p"我们称为"选择器"(selectors),指明我们要给"p"定义样式; * e4 E9 |& r+ i) K0 B. @( F
样式声明写在一对大括号"{}"中;
. g- p: S* {; |' u# [COLOR和BACKGROUND称为"属性"(property),不同属性之间用分号";"分隔; 3 D9 n y: p: Z4 v( v$ ~( e
"#FF0000"和"#FFFFFF"是属性的值(value)。, f7 m( d+ V: o' J, A- ~
6 |+ [: m/ Y; `+ V) W2 f, F7 l2.颜色值4 {$ ]: j: J1 N8 Z* C3 J
2 k( X; J; d! ]颜色值可以用RGB值写,例如:" V: x0 s. o6 r+ w: s: R$ d: w
+ S$ z1 R# l# O
! J8 E4 l/ @: m# {3 _# P7 @,也可以用十六进制写,就象上面例子: |# F: j; V6 v
, y4 W: p- M5 t- c' N# e
]3 H; } M7 l% f( ]$ u: a
如果十六进制值是成对重复的可以简写,效果一样。例如:#FF0000可以写成#F00。但如果不重复就不可以简写,例如#FC1A1B必须写满六位。
* H: x: |4 T9 Q6 Q: o2 h- n* [3 _. J \1 Z8 x8 b; S' b2 H& Y
3.定义字体* i: q8 A6 p& E2 e/ {3 ~) L* ]
web标准推荐如下字体定义方法
! j/ x+ c4 z& V% I* N6 H i( {, X6 x% g: u3 Y- [1 j
body { font-family : "Lucida Grande", Verdana, Lucida, Arial, Helvetica, 宋体,sans-serif; } : Y. `/ Y0 Q' z9 R- m
字体按照所列出的顺序选用。如果用户的计算机含有Lucida Grande字体,文档将被指定为Lucida Grande。没有的话,就被指定为Verdana字体,如果也没有Verdana,就指定为Lucida字体,依此类推,; 2 @! C T1 f) Q0 w" o% x3 n) v4 V
Lucida Grande字体适合Mac OS X; 1 f$ H6 _9 ^" U t
Verdana字体适合所有的Windows系统;
2 p6 p. B: ^0 [, Z+ ^& S9 OLucida适合UNIX用户 % t* s: o" H" g3 K: y9 Z
"宋体"适合中文简体用户;
: X0 \! K o& g7 k1 y2 W如果所列出的字体都不能用,则默认的sans-serif字体能保证调用;
+ n6 H" O+ c0 @$ w4 S& l! I
0 T& y5 Q* @0 h4.群选择器+ o4 N6 c# r; a5 J# q- g
! D* W$ P& k' p+ Q. ]
当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔,:, Q* L/ ?7 c1 B0 _$ f
( g: A1 S0 S4 |8 B p, td, li { font-size : 12px ; } $ v* X+ D$ S& i5 B
就是给li下面的子元素strong定义一个斜体不加粗的样式. s$ t! d/ B1 p+ X% q) A( L
0 ~3 x) Z( }$ u; k+ M! _# ~6.id选择器2 q& K/ d: l2 s' f1 F; C- ^
. s7 p7 h' t6 {0 H用CSS布局主要用层"div"来实现,而div的样式通过"id选择器"来定义。例如我们首先定义一个层
' L- W6 }7 f* s; N; ^# U6 y$ ]! N) q8 n( a% m: u, V6 t( S
- }' e. q: @! ~' a5 @- \然后在样式表里这样定义:
* `0 z% y6 O: k! \9 S; \4 o T5 }9 B7 Z- Q) ~3 A+ q
m3 P* z' T7 k+ i' V: w W# W#menubar {MARGIN: 0px;BACKGROUND: #FEFEFE;COLOR: #666;}
4 T5 R+ x* d+ X; J! g其中"menubar"是你自己定义的id名称。注意在前面加"#"号。
: W/ ~7 |6 T5 M6 Y7 _ |7 _1 O. n4 H% A, t t
id选择器也同样支持派生,例如:8 f6 d" E; U( f# a
#menubar p { text-align : right; margin-top : 10px; } $ v, H' C: j6 a% k3 B/ b
这个方法主要用来定义层和那些比较复杂,有多个派生的元素。$ i3 J: O6 k* b, X3 S5 A" { X7 O
% m7 B2 ~ Q0 j+ h5 m' ]3 ]5 N
6.类别选择器! s# q( K8 k$ c" [* e1 w& s
6 n* \# M; Y0 m* P在CSS里用一个点开头表示类别选择器定义,例如:( `7 y' R: q0 s/ s4 u+ C$ j
.14px {color : #f60 ;font-size:14px ;}
& X7 X; `* j) l1 V
% {8 W! o5 P- ~% _8 o在页面中,用class="类别名"的方法调用:0 U" ] D: R' X7 s
<span class="14px">14px大小的字体</span> ! j# ?+ ?: {5 y" N9 D
$ Z) z# {) T. R3 b% I8 |, R+ S
这个方法比较简单灵活,可以随时根据页面需要新建和删除。 w2 E( V& g$ y& x4 K
% V0 G. e: ~1 X: |4 b
7.定义链接的样式
* _( d& C4 @4 P: b. ^& SCSS中用四个伪类来定义链接的样式,分别是:a:link、a:visited、a:hover和a : active,例如:0 D7 d$ ~. V# a; s- Z; c
a:link{font-weight : bold ;text-decoration : none ;color : #c00 ;}
5 |4 i% q5 l; `- I5 f7 ~; ua:visited {font-weight : bold ;text-decoration : none ;color : #c30 ;}
3 m. U, z; ]( ~8 j3 M/ w4 w2 B/ Oa:hover {font-weight : bold ;text-decoration : underline ;color : #f60 ;}
X$ ]% P4 J |. Q, Oa:active {font-weight : bold ;text-decoration : none ;color : #90 ;}
& G Y9 J& g- \9 O5 F0 _! p% q) h' L% ]0 z* E
以上语句分别定义了"链接、已访问过的链接、鼠标停在上方时、点下鼠标时"的样式。注意,必须按以上顺序写,否则显示可能和你预想的不一样。记住它们的顺序是“LVHA”。 |
|