上一節開始我們討論 CSS (Cascading Style Sheet) 的基礎. 告訴你有三種 Selector. 但只介紹了其中的 HTML selector. 這一節我們把三種都詳細介紹給你 % N Z* ?5 G) d% S6 c3 V1 I
5 c0 x. E/ O) _2 l7 y! z/ q' z* `
HTML selector
! O" [$ k* V8 J" }: Tclass selector: J8 R7 e& ?% D: _6 c
ID selector:
) N; Y9 f7 q" t9 p6 | V& GHTML selector 7 j& C3 M8 Q: \- g; p9 O
/ O5 B) j$ X# A( t: X: ~HTML selector 就是 HTML 的 tags, 比如 P, DIV, TD 等. 如你用 CSS 定義了它們, 在整頁中, 這個 Tag 的性質就按照你 的定義來顯示了. HTML selector 的語法如下 ! u3 }8 Z6 ~, J/ L' _
5 C' @; k" ]) ~ tag {property:value}
" B9 e7 G% C9 `比如我們想叫 H1 的顏色是紅的
; u c& O" R0 x- u1 H; Y5 v" x p
0 t7 F& C3 R& f8 _+ @ H1 {color: red}2 M, f6 i' ^ y! j3 s
這裡還要告訴你 CSS 的一個特點, 它可定義好幾個 selector 在一個 rule 裡. 比如 : m, X M( `, k! I7 F' D
& w6 G/ [/ q) |) L% i6 a
H1, H2, TD {color: red}
- ~! c( B+ Z" A這個定義就能讓所有的 H1, H2, 和 TD 的顏色都為紅色.* ~2 w9 n B* W# g" [0 s
. z; F$ @' m& ]8 ]/ P9 w5 @3 G, d
Class selector
& w& ~6 e& V7 v( n2 ]5 D) a) u0 X; b) L
Class selector 有兩種, 一種叫相關 class selector, 它跟一 個 HTML 的 tag 有關係. 它的語法是 1 P9 E/ i: v2 n0 u7 T) i0 Z* n
; J/ h* {& Q2 r: t) X' k/ @1 I tag.Classname {property:value}
6 w4 U' |2 t5 i! m+ k# }" V/ S比如我們想叫一些而不是全部 H2 的顏色是紅的
1 W& n( f( x# b- }, ?' ~# [& u7 W% H) _3 Q3 h L
<style>
0 q7 A3 O, o( V6 R H2.redone {color: red}9 j% p) _& J# k2 }( n2 f/ O" V
</style>7 G4 p1 H8 z6 [) n8 u) r) u* Z
1 v- Q' @* T# z2 U& ]6 l; M" `* \" ]<H2>This is H2</H2>
1 Z$ e2 k4 S0 q# [9 z<H2 class=redone>This is red H2</H2>
& c% m3 {# v6 f s" i% NThis is H2
0 X4 O% R H0 A- t' M* j0 t; K/ CThis is red H2 ) ^$ E' l# N- m5 D" N: K8 m3 s
" V* d& |5 R9 ^5 R
1 v" x5 n; M* M9 |6 I( X+ q A9 z' H
第二種是獨立 class selector . 它可被任何 HTML tag 所應用. 它的語法如下 ! K: k0 u8 v9 q$ [, s0 M! K/ M4 d
0 g* H, f d6 ]5 }; O
.Classname {property:value}
# Q( H9 G5 E7 K2 d r( V假如我們有下面這個定義
5 f- e) e6 |) Y7 Q6 Z6 `7 ]% o1 `- f, o8 D0 W& P3 r/ O
.blueone {color: blue}
* A! |/ L T, O- {& I/ `. z# u0 v那麼我們可以把他應用到不同的 Tag 當中去. 比如
}& q2 H' F* t7 _- C. {# P/ R3 o, M) S m
<style>
* G. ~' M. m4 g+ t9 c .blueone {color:blue}; o! I2 h7 D, u4 p% W
</style>( z$ [" o% j+ o E% ~) A% h
<H2 class="blueone">Blue H2</H2>5 a2 G1 m# R, J, J; A
<P class="blueone">Blue paragraph</P>
& m5 Q( k! ~- ]8 ?4 {: ~Blue H2
" b4 m" f _4 X0 MBlue paragraph
) q% D3 W: R7 p2 | - D( G) v" Q- R5 o' G
/ k' G* J& I" a( F3 j% |6 @
, a$ J0 y$ M, h; b$ \$ O+ n& x( T+ e) ^4 s5 R6 W
顯然 class selector 給了我們更多的自由.
4 t$ b( `2 ^% \0 E" M; j* C8 z, S+ h) ^
ID selector
8 F! `' W3 S* E' B; _+ L: o- f
ID selector 其實跟獨立 class selector 的功能一樣. 而區別在於它們的語法和用法不同, 以及對於 Javascript 縱 HTML 元素有幫助. 它的語法如下
# @" [! c' c* h1 l( R( W* F# M( S; D4 Q
#IDname {property:value}5 l- O0 }/ s4 R6 ]' R
假如我們有下面的定義
|, x& \. b4 _5 } Z& q8 h1 ^9 d# z! D+ R+ x8 q5 D
#yelowone {color: yellow}
0 A, O/ d* ?3 l/ q1 a我們可以運用這個定義到任何的有同樣 ID 名字的 tag, 比如 3 _3 o2 g2 H$ C. N
' h4 r3 E3 \7 @. k' Q<style>
: `) F! f; Z$ J+ h Y% V #redone {color: red}
: A" j( y. a: S3 ^6 M</style>7 B3 x! I1 q& p$ h0 M* k
<P ID="redone">text here</P>
" [7 D H: N7 W" m# jtext here8 T$ o1 O1 G' X# O% D3 n* Q/ E
# E4 F% o4 S7 e( W: X6 k5 g4 Y
' Y& z5 H1 Y1 [7 ^# t( R0 V9 R& E8 Z- y1 T: \
& o- k y: q7 K0 }
你可能覺得既然 ID selector 和獨立 class selector 功能一 樣, 為什麼兩者都存在呢. 如果你知道用 CSS-P 來定位的話, 你就明白它們的區別了. 有 ID 的 HTML 元素可以被 CSS-P 和 JavaScript 來縱. 6 G$ U/ g' y6 f8 i
: L; P' ?. u/ ?5 _, I- d到現在為止, 你已經大概知道如何來寫 CSS 的定義了, 下面我們將會告訴你如何用 CSS 來縱或修改
7 o: }$ x* }9 b% C! x" U/ T, B( i! d, f, D s- V4 N
字體
& ?, M0 _) c4 w6 [( X9 k文字間的空間 / M" ?/ }1 y# t7 E9 n
列表
1 J' k g k2 P9 S' C) c5 F$ o0 Z! \顏色
0 S% x. n/ n x/ K% c0 y7 `背景 / ]- b5 H& g8 [7 O( e1 f
Margin ( k4 J% w; _1 x& O
位置 |