上一節開始我們討論 CSS (Cascading Style Sheet) 的基礎. 告訴你有三種 Selector. 但只介紹了其中的 HTML selector. 這一節我們把三種都詳細介紹給你
' F8 ]1 k3 f" N: v% i3 N- r" r/ ]3 x
HTML selector
) n5 `7 U, r1 f" B1 w3 J( b, W/ H& kclass selector: * C2 U n1 Z6 S) ^6 z1 B
ID selector:
, l% C% b* a. k8 X) o% H# k GHTML selector " }+ t' K5 Y0 T2 C) n
& I9 v; M5 P$ r" n/ RHTML selector 就是 HTML 的 tags, 比如 P, DIV, TD 等. 如你用 CSS 定義了它們, 在整頁中, 這個 Tag 的性質就按照你 的定義來顯示了. HTML selector 的語法如下
+ d8 K$ o2 b% t% F* Y- F2 X( G' Y
- X, @8 @: U0 Z0 T' k tag {property:value}
2 s! u' h# l) I. E0 \1 n. E比如我們想叫 H1 的顏色是紅的
5 g2 T7 U1 j4 t" a/ R
4 D; {! V# b' B4 q5 N6 t' [ H1 {color: red}
, W* ?5 P' f* u0 z9 z8 ?+ }這裡還要告訴你 CSS 的一個特點, 它可定義好幾個 selector 在一個 rule 裡. 比如
4 F! F2 \2 H6 {# O+ J. c4 \. D1 `6 P. X0 E. s& w3 b
H1, H2, TD {color: red}
6 u' h" {0 |/ }這個定義就能讓所有的 H1, H2, 和 TD 的顏色都為紅色.5 P% F U1 ~" I
6 m ^: B/ @/ ]) j5 c# l4 S
Class selector ; j; Y8 r4 [ ~0 t) d4 m: c
c' g- A" x5 {9 y7 _# }) v2 L
Class selector 有兩種, 一種叫相關 class selector, 它跟一 個 HTML 的 tag 有關係. 它的語法是 1 u$ O# F5 H# l) H" b0 Y
( l* r0 X/ f) U+ F' S3 k1 J
tag.Classname {property:value}3 H2 o6 ~" x: i0 @* s
比如我們想叫一些而不是全部 H2 的顏色是紅的
, E# n0 _; r9 @2 ^6 }; y
' u+ b4 j* x5 S$ O9 t<style>
# n6 |5 @2 \0 n \* L. ? H2.redone {color: red}, I& |8 n" O; u% i0 h
</style>- b- x( p5 B0 r3 q! E3 s" x( I7 X
. }+ J9 l" a" j% c
<H2>This is H2</H2>6 l% l! c4 s5 z) w, ~
<H2 class=redone>This is red H2</H2>: Q3 i' x. S3 D: F
This is H2& W3 X" H" G$ J* A. `3 ^1 R; Z% ^- o
This is red H2
' |4 n' w$ K4 E
x( K; h: i- B2 h5 s4 T7 c, b
6 A6 {) [; }7 ` ^& M" c' {- o; l6 d5 [* Q8 J9 R
第二種是獨立 class selector . 它可被任何 HTML tag 所應用. 它的語法如下
7 U/ H( O( V9 q' o; o5 E+ b
8 [% S; j4 h1 R2 v2 U# D) p .Classname {property:value}+ q" u5 W$ m8 y% V7 v8 j
假如我們有下面這個定義
& F! B: I6 e8 X* A j$ o7 z% `
+ z' _$ Y% u& P- \/ @/ o .blueone {color: blue}1 d, U0 T- N3 t
那麼我們可以把他應用到不同的 Tag 當中去. 比如 1 \3 x3 e9 U, }2 |5 W4 J# ], s7 w2 p
$ q/ r8 y% {# b0 M: n4 t<style>
" ]: `& g9 O7 C .blueone {color:blue}' }0 C" j V4 }' A* t
</style>( h& _" {" W D4 d2 [' D5 \" w6 O
<H2 class="blueone">Blue H2</H2>
8 K# F/ w5 S2 A/ S5 ]) Q<P class="blueone">Blue paragraph</P> a7 _* n1 g; J; d; ]; B" P9 g
Blue H2
0 F" q: t/ m/ j- e6 z5 HBlue paragraph
& E9 g/ B7 K. E9 u7 E8 ]& D 8 E% O' Q$ ~' X( t) s
% H7 N+ Y d5 o4 o3 U, E d
+ E& H* S+ ]: w2 C* g5 s, D
% M; n2 d; T. X5 b S顯然 class selector 給了我們更多的自由.
4 f4 \8 O& _$ }. j+ _- B8 h+ y4 |0 H8 L" Z- j: t
ID selector
, f6 B) P3 Z# Y, ]) g2 F5 S7 U# @ e6 `8 y+ c( I
ID selector 其實跟獨立 class selector 的功能一樣. 而區別在於它們的語法和用法不同, 以及對於 Javascript 縱 HTML 元素有幫助. 它的語法如下
, P. L# G M; u" d) w
5 r. m4 y2 w" G4 U( B8 ? #IDname {property:value}
' k7 q; y% S0 g! l3 q- Q假如我們有下面的定義
( h. h* d; Z1 |' X/ e9 Q! {' o! E) F) r$ m. Q2 Z+ u
#yelowone {color: yellow}
- k8 Z- E, y( T1 s7 S/ }我們可以運用這個定義到任何的有同樣 ID 名字的 tag, 比如 9 R; q: `& I- B; V4 P
& `+ c2 ]& T f8 C& ?9 [7 q& R0 L f2 P
<style>
4 _; {/ |2 g/ a+ H$ N Y #redone {color: red}
* B( Q; a$ l7 t I; X</style>. e9 }6 b6 h H/ t* }1 V
<P ID="redone">text here</P>
" J" {$ L7 e9 C- Ctext here
7 V" L; l' [0 x% q a
+ l$ m6 M/ Y4 ^ T( z! j
. w& ^6 L; q0 V- p( K4 {: R9 z" X# }
8 u; H$ E$ b2 Z9 R4 {% u5 \
你可能覺得既然 ID selector 和獨立 class selector 功能一 樣, 為什麼兩者都存在呢. 如果你知道用 CSS-P 來定位的話, 你就明白它們的區別了. 有 ID 的 HTML 元素可以被 CSS-P 和 JavaScript 來縱. 8 r9 `- [( j$ l: D! D
* P" i7 G, D! K8 L到現在為止, 你已經大概知道如何來寫 CSS 的定義了, 下面我們將會告訴你如何用 CSS 來縱或修改 9 C% Y: L7 L+ R& O* @
0 w5 I! b$ M- n5 Z+ b. c+ x4 O字體
2 x$ G% p' o( {文字間的空間
, b+ [, g1 o2 S; e) e/ J }列表
! i. S) b; y& X; }$ j% b, i顏色 " {( q! x+ e" N* b/ _/ T: y
背景
' {- v8 C* e! G% }# G; sMargin
+ h9 N3 F0 ]7 L位置 |