上一節開始我們討論 CSS (Cascading Style Sheet) 的基礎. 告訴你有三種 Selector. 但只介紹了其中的 HTML selector. 這一節我們把三種都詳細介紹給你
+ `1 {6 U5 b1 ?4 ]1 c
, V9 i1 a" m7 B/ B* m% H! T- ZHTML selector . p. |7 s) x8 M& [ b/ k3 X
class selector:
: i5 }% C+ p* w; N% g" FID selector:
) x& g. S# Z9 CHTML selector % b- }& h3 y' |' {! k
' h& m1 w* w: c1 F1 Q& a U* FHTML selector 就是 HTML 的 tags, 比如 P, DIV, TD 等. 如你用 CSS 定義了它們, 在整頁中, 這個 Tag 的性質就按照你 的定義來顯示了. HTML selector 的語法如下
9 [( y4 U* F4 K# x9 o' C( M: ]3 M
tag {property:value}' v; c: x e0 T9 @
比如我們想叫 H1 的顏色是紅的
9 C4 Y& D) m6 ^5 G5 l
V) Q8 p" D0 i9 G7 t H1 {color: red}
! @; o g' h5 w+ h這裡還要告訴你 CSS 的一個特點, 它可定義好幾個 selector 在一個 rule 裡. 比如
: F, [ \% |+ J( W; O6 T
( F" N/ F# c% G5 L H1, H2, TD {color: red}
: Q7 e0 G4 f. z" `" Y這個定義就能讓所有的 H1, H2, 和 TD 的顏色都為紅色.# Y. E( B8 }- a+ U/ Z0 A( A7 T& N
7 Y2 ~$ d! I2 i7 m" y
Class selector
: R D4 N* @" N' }* D2 K6 m
. p2 @/ [. T& i x+ d, ?Class selector 有兩種, 一種叫相關 class selector, 它跟一 個 HTML 的 tag 有關係. 它的語法是
/ Q' U: k% u0 d1 |, @
H' O: o/ z- p& U9 |1 p tag.Classname {property:value}
* n2 z. \* f6 i% b# n3 D! v比如我們想叫一些而不是全部 H2 的顏色是紅的 2 b# `' u \/ ~9 O* }8 D& D
5 K9 S4 H! `! Y% C* x<style>7 C) `/ M/ J8 J4 f b0 S3 i7 `
H2.redone {color: red}
i) R# B! S7 Y</style>1 p; w; v% y: f! M k
- v: A# p4 ^4 l5 h' }; G
<H2>This is H2</H2>) |. }, S/ i& L% ^# N2 e
<H2 class=redone>This is red H2</H2>( t7 m3 S1 ` I3 k
This is H27 L7 ?2 `1 \ D" F! ~& B
This is red H2
/ Y6 k+ x% `5 X 3 Z v3 J+ Q( W. C, @8 Y3 _1 A7 s) e
. w6 N' n: x2 [' T- m9 z+ N
1 u' j S, l; w- D. g r; b1 I第二種是獨立 class selector . 它可被任何 HTML tag 所應用. 它的語法如下 2 X# l$ N! p( ?9 G% F9 g
# B' M, T* L6 a" T3 A$ o% [& g- E
.Classname {property:value}, L+ L7 ^1 o; V/ z
假如我們有下面這個定義
' O" ^( ^# e4 p; L5 F. e4 K/ u3 J( u# o. _: l/ m/ _
.blueone {color: blue}
4 _! n% r# H W那麼我們可以把他應用到不同的 Tag 當中去. 比如
5 m+ K) ^, L4 \+ C) x3 \8 P: }# C9 @( C1 l( E$ A1 U4 Y
<style>9 c2 F# q" }" X
.blueone {color:blue}) B6 m+ f I! }% m
</style>1 C- i9 G8 t8 r5 I
<H2 class="blueone">Blue H2</H2>( J: U! [+ W/ l, e3 F
<P class="blueone">Blue paragraph</P>0 C4 \ W! U1 f4 Y
Blue H2
3 ~, W3 Z7 K2 X3 yBlue paragraph1 e: ^% G. \% o7 D
# |+ k9 Z- T+ R% B! M# I6 X6 D
1 g$ D4 m( u+ g9 c4 e) r9 C
1 q( i1 d+ A- w2 |& x0 [' Y* L2 T# g' ^! C! ^5 M. _3 X
顯然 class selector 給了我們更多的自由.& f1 O! |! U9 N% ~" ?% V+ w% r
/ \/ H$ d* N4 c) g9 KID selector 3 J* {* _" g+ A( z) @0 L! e/ V
/ ~& E2 l# h% T# yID selector 其實跟獨立 class selector 的功能一樣. 而區別在於它們的語法和用法不同, 以及對於 Javascript 縱 HTML 元素有幫助. 它的語法如下
" z, {. Y$ m; I8 R
. l8 r* |5 ]- u$ N m+ M #IDname {property:value}
3 ~$ d! Z* i$ @9 N! |假如我們有下面的定義 : L# _ m& e9 ^3 S$ R# U, B
% T. q' Z- o6 ~6 V8 E% H. s
#yelowone {color: yellow}' n, f# R2 N0 R( E0 E; O$ \
我們可以運用這個定義到任何的有同樣 ID 名字的 tag, 比如 6 E* d. a/ Q0 C8 f( i
1 R+ B/ A3 O$ h% @: T- @& Z
<style>( F$ \) T% ~+ b# l c5 A9 N8 F8 z
#redone {color: red}
# E( ^0 u( N* l. `) S</style>9 V/ l0 @7 @- r/ z7 I1 m5 f+ C5 b
<P ID="redone">text here</P>
. i9 ^5 O, d0 d, U$ k$ Htext here1 A$ R+ g! o! X2 H) }' q
$ ] p9 |3 O6 E+ j
; L# o% S6 ]# u* e9 v7 f7 W. O9 V1 t( j4 b. e. H" x
0 f9 i. j" k, \; F5 n; R
你可能覺得既然 ID selector 和獨立 class selector 功能一 樣, 為什麼兩者都存在呢. 如果你知道用 CSS-P 來定位的話, 你就明白它們的區別了. 有 ID 的 HTML 元素可以被 CSS-P 和 JavaScript 來縱. , M& L; c6 v) p9 N4 y- K
0 @ G$ m7 D, Y N到現在為止, 你已經大概知道如何來寫 CSS 的定義了, 下面我們將會告訴你如何用 CSS 來縱或修改 " n, l7 u0 ~4 H" W4 e7 `
V7 r* s Y# d( q) G' x% k' m% m字體
# M+ N) c; N6 J* c7 m文字間的空間 7 j1 x, [2 a; M
列表 ! B+ U# F `# ? ?# T
顏色 1 W' Q$ A. c7 N
背景 9 z$ d/ p( J7 K9 j# ]9 |
Margin
* K8 H9 ~/ f- m- N) k% E: a位置 |