上一節開始我們討論 CSS (Cascading Style Sheet) 的基礎. 告訴你有三種 Selector. 但只介紹了其中的 HTML selector. 這一節我們把三種都詳細介紹給你
- ?- \2 [0 L" ]$ z' A. F0 }
9 V0 _" T9 K& J6 U R8 W3 ZHTML selector - @' j1 \. k. L7 U9 ~- Q
class selector:
1 R- t, @6 ?- v* dID selector:
/ {- _; T# \: z" q; r* FHTML selector n1 G& J# S. P3 U( t) q, g& ?
, @ T7 X- z( A. M" OHTML selector 就是 HTML 的 tags, 比如 P, DIV, TD 等. 如你用 CSS 定義了它們, 在整頁中, 這個 Tag 的性質就按照你 的定義來顯示了. HTML selector 的語法如下
% v2 |, d0 I. ]' b5 Z4 o$ R& `5 o) O0 ]. j% G% q
tag {property:value}
$ U0 W$ v; I8 \1 I比如我們想叫 H1 的顏色是紅的 8 T" F) k8 K- S
/ g& p# p( \- S" F6 ? H1 {color: red}1 c4 }- B4 k4 L6 T
這裡還要告訴你 CSS 的一個特點, 它可定義好幾個 selector 在一個 rule 裡. 比如
/ J0 J" z) J$ f1 v
, j* V4 ]* I+ c. ~2 a& X H1, H2, TD {color: red}
! P; M7 |: r2 m. `1 Z! A+ M這個定義就能讓所有的 H1, H2, 和 TD 的顏色都為紅色.
( O* X( r" i; G4 Z! U% l5 x: ?8 x0 h* N0 \6 }- h
Class selector
. o: D+ W' z s& ?! n( |3 C3 a& ~) m ~
Class selector 有兩種, 一種叫相關 class selector, 它跟一 個 HTML 的 tag 有關係. 它的語法是
8 F* Z. U& M7 G6 N4 S" M0 I3 f; H5 ~; o$ j
tag.Classname {property:value}+ ]. ]# |7 J9 p4 V( K
比如我們想叫一些而不是全部 H2 的顏色是紅的 0 B" W4 D+ S: _# W( I4 O% z2 q2 I: @2 t
! E% y+ G, ?" x; a<style>3 s# Q7 X! u# r8 j) m0 |$ X
H2.redone {color: red}
/ X1 H, s( v7 r' {' h. e. _2 G7 i</style>
5 H( K) Z- v$ K9 t$ d2 _1 U; |) G! ^+ e1 o0 o: y9 t: m
<H2>This is H2</H2>
) @+ ^) {" |7 H$ @5 \, l<H2 class=redone>This is red H2</H2>, N, u9 Q& G: U3 _& p! a, \
This is H2
~& ~8 n& u# m, BThis is red H2
- ]) _6 q7 }/ d$ t0 n S6 b& F 5 r1 l7 X. `' w+ W- ?9 ^ }- s
9 U+ X# X3 o9 w/ n3 e
* _. { S! ]# V+ h
第二種是獨立 class selector . 它可被任何 HTML tag 所應用. 它的語法如下
( Z$ X. l: }/ V) L" H& B) k
, f. ~! ~* n9 i4 n5 y .Classname {property:value}3 h6 G2 u$ t) }5 E5 U
假如我們有下面這個定義 % E4 \# n4 A/ k/ a* w
9 j, s* M' Z U$ X( g. e: H
.blueone {color: blue}
' A8 J, T2 E$ `1 U那麼我們可以把他應用到不同的 Tag 當中去. 比如
; m/ X: ]' ~. P/ J4 j) V, K2 J+ `/ B0 Y- Z. Z# b
<style>3 X1 f0 K8 n2 n7 e* [
.blueone {color:blue}
' ?9 N- c' B4 a/ ~</style>
6 M! v6 E- l4 h, J6 d4 P4 x$ M<H2 class="blueone">Blue H2</H2>
. ]7 Y) J" O* `& k7 t; \<P class="blueone">Blue paragraph</P>
6 h$ e$ [ h" a8 g6 b3 \Blue H2/ f: o7 o2 i$ s+ B. |
Blue paragraph) h/ M) V- ?$ {
9 j* o1 s: z7 A# U( |* Y
: N' y" h4 [% Z+ v' `+ V# z5 H1 A
8 k5 H. n( N# ]4 [; Q2 J
顯然 class selector 給了我們更多的自由.
$ |) x" A5 m$ C# D- S; ~
/ d3 D7 y9 }# {, mID selector 9 K2 A8 v0 ^* g% u# m4 x
& s, J" u. T9 R. q9 S! x
ID selector 其實跟獨立 class selector 的功能一樣. 而區別在於它們的語法和用法不同, 以及對於 Javascript 縱 HTML 元素有幫助. 它的語法如下
3 j( F4 w$ ~: ?4 }& A9 ~" m/ W$ N3 y& }5 ? P+ o* g( v) C4 g
#IDname {property:value}
& p- p3 H' S& q$ R假如我們有下面的定義 # M* L# ~4 B- I" b5 K
; U7 j2 d. x+ W$ ~* D #yelowone {color: yellow}0 P5 h: `7 w. v3 N l$ f
我們可以運用這個定義到任何的有同樣 ID 名字的 tag, 比如
* r& G' X- A, {8 `
: u" M$ H' Y9 }6 l7 i, U<style>
0 k i8 f3 \: o: T; K, I* \+ J #redone {color: red}
! ~, W8 x& O& d7 J</style>
2 z l# A( @! R6 r" a) L; q0 G9 s <P ID="redone">text here</P>& Q: C: k. k$ B2 W$ {/ b% |
text here$ w K: y p8 j" i* \ N
" p5 J8 n$ r" R
1 j r8 N u* ?4 c+ J2 k7 `: W* N+ Z9 l/ K$ F+ ` U
3 N; _) M M8 x. q5 [1 I
你可能覺得既然 ID selector 和獨立 class selector 功能一 樣, 為什麼兩者都存在呢. 如果你知道用 CSS-P 來定位的話, 你就明白它們的區別了. 有 ID 的 HTML 元素可以被 CSS-P 和 JavaScript 來縱.
# ^/ g+ N1 H$ Y" H; C' q5 C% W% `5 A
* u; d4 A. S. U( i) b, U到現在為止, 你已經大概知道如何來寫 CSS 的定義了, 下面我們將會告訴你如何用 CSS 來縱或修改 3 D. g3 f$ _/ ?* |0 c5 A
$ c# t' t; z: C% L' ]字體
" B8 \; y2 F! z& E% s& `文字間的空間 8 e+ M& F$ L. Q! x) R5 p, C5 p( d
列表 ; Z% {$ x" @( C) h
顏色 0 B. h( v9 w7 }/ R2 g( O0 R
背景 3 D: ~( }7 w/ Y% x
Margin
* t' x/ p. x4 f* {- e( C7 H6 w8 }) M' a% c位置 |