上一節開始我們討論 CSS (Cascading Style Sheet) 的基礎. 告訴你有三種 Selector. 但只介紹了其中的 HTML selector. 這一節我們把三種都詳細介紹給你 , Y( I7 Q6 I- K, m( k$ l% S
9 v2 s+ O( i; b! Y/ eHTML selector & F0 Z# ^' V4 L( {+ p
class selector:
Q1 P- N& s* c" g1 GID selector:
- F& O c: \9 z) f3 d! Y, w. j5 GHTML selector 4 A2 B6 s- V9 ?. S
. ]" V8 c) p5 ~+ m
HTML selector 就是 HTML 的 tags, 比如 P, DIV, TD 等. 如你用 CSS 定義了它們, 在整頁中, 這個 Tag 的性質就按照你 的定義來顯示了. HTML selector 的語法如下
0 e K4 v% W: D) a& @9 S8 D; Y% I1 S
tag {property:value}
; w" ]+ s5 N1 y: @8 q( f- |( V& g% n比如我們想叫 H1 的顏色是紅的
; G! D6 A* f0 F l* X& j- L) w9 K3 C& p' p$ R5 ]" q3 H7 t$ ]
H1 {color: red} h1 x, D, c9 L. \+ a
這裡還要告訴你 CSS 的一個特點, 它可定義好幾個 selector 在一個 rule 裡. 比如
+ z9 l* {/ L' {) `, d5 f3 f! z+ H
% ^) C7 J# P, h% Y; R5 _. X H1, H2, TD {color: red}
/ N6 T+ y! f3 D% ^9 h; \這個定義就能讓所有的 H1, H2, 和 TD 的顏色都為紅色.) y' B4 T9 k# l) F3 d# Q( }4 P
4 U, k+ i# X# V y; T3 v6 H1 c& A
Class selector 7 G2 P2 h7 S! l( C
4 z- Y! J) G8 E2 |) M( d
Class selector 有兩種, 一種叫相關 class selector, 它跟一 個 HTML 的 tag 有關係. 它的語法是 & R1 V2 s1 n1 ~" H
J' i2 L. S. x3 B5 j1 \, ^
tag.Classname {property:value}. q, V" |" m4 {+ J1 ^3 y5 ~* Z
比如我們想叫一些而不是全部 H2 的顏色是紅的 ; _$ P% Z7 j9 ]+ _, K" ~
: X& A t0 x; V4 ?- Y9 _
<style>8 s8 P6 Q" M3 ~$ t9 V2 ~9 C( J% J2 L
H2.redone {color: red}0 O: D8 r# ?) O. [1 c; {8 Q
</style>9 \1 X7 \" k0 Q f2 j" `! x
2 R/ j( E5 E0 @7 M3 b8 S
<H2>This is H2</H2>
) H% j/ r3 [% F) X9 ]<H2 class=redone>This is red H2</H2>
' t- V$ T. z* h5 y# z7 h4 f; eThis is H2 m) y3 K3 w, P, c. A
This is red H2
! m; D& [) e2 C& O! p" `4 t
# c8 V& ?+ k/ U% }' ~6 I* G& X# g) ]- B5 b+ P6 z* f6 V' E% P# b1 [; F7 M* a
! e9 m% V6 K, g& Z第二種是獨立 class selector . 它可被任何 HTML tag 所應用. 它的語法如下
" @' x% D4 A P& ^2 \3 j
' @7 N+ F9 \+ z; m3 l: f .Classname {property:value}
5 S: b8 @# g# \6 p* O$ Q' ~+ _$ G假如我們有下面這個定義 ) K) w& m! h8 o' n
- R: ^8 @! \: E: G2 w
.blueone {color: blue}, Q% L( `" Q) z$ {: `! H
那麼我們可以把他應用到不同的 Tag 當中去. 比如
0 i* l* u5 I) a6 B) w) R! Z* s) Z
# {6 P/ d7 n3 ?6 c' s<style>, W( a1 Y3 W1 A% z) |
.blueone {color:blue}
# t: K! d& I/ f; q- D1 p. T; G</style>% o3 E7 i- r# Q* \5 |6 y
<H2 class="blueone">Blue H2</H2>0 [/ u" r, i9 Z! k1 v
<P class="blueone">Blue paragraph</P>3 {1 i+ L1 n, Y2 `
Blue H22 I' } {# ^: M1 }8 O6 R/ a4 O: X; @
Blue paragraph
6 B' g, ~8 N% _: s: X
4 _: {4 f5 L3 a9 Q) K) ? , F5 g. t& l. O6 R1 j
. F3 ? f( z. @# E- f7 z4 c
1 k- r9 Q+ B* C$ ^6 V5 w
顯然 class selector 給了我們更多的自由.
s8 N( r0 H: X# h. ^- G1 ]$ L8 Q' z* J/ _. K* A6 I
ID selector 2 ~" [& Q! ^/ N
& [; T) s+ I/ W
ID selector 其實跟獨立 class selector 的功能一樣. 而區別在於它們的語法和用法不同, 以及對於 Javascript 縱 HTML 元素有幫助. 它的語法如下 , H: t8 y4 s' z4 b0 v3 S$ r) ?
+ @2 L* U! X% F
#IDname {property:value}4 t" K5 M( v' D0 U' C6 g/ _
假如我們有下面的定義 , h0 s1 y) _. e5 O' G2 D/ G* h
5 j% y5 \" {2 U, j" y! v- g
#yelowone {color: yellow}" N" o1 ]$ X1 l
我們可以運用這個定義到任何的有同樣 ID 名字的 tag, 比如 , T0 h- f1 J6 [- f5 J! v3 x
9 z* @7 q2 j; o6 }2 J0 o<style>
4 g3 P' Q v" g; e# e1 B2 W #redone {color: red}
3 V7 l1 J e+ ~5 A5 c) T7 p</style>
1 v" D. J3 m. a; }# Y f <P ID="redone">text here</P>
+ z3 `8 X2 L9 w, ^2 [* G' A2 H- ^text here
! F4 z# O% B$ r! C+ x
}8 I* A& }/ f9 G
3 I! r5 [ w- G; k; b5 h0 Y$ N; u3 }$ }$ O
$ M& x: T6 h) j. {, A
你可能覺得既然 ID selector 和獨立 class selector 功能一 樣, 為什麼兩者都存在呢. 如果你知道用 CSS-P 來定位的話, 你就明白它們的區別了. 有 ID 的 HTML 元素可以被 CSS-P 和 JavaScript 來縱.
0 c8 G6 r0 F2 Z6 a2 k0 R) g- ]% c* ~6 e
到現在為止, 你已經大概知道如何來寫 CSS 的定義了, 下面我們將會告訴你如何用 CSS 來縱或修改
- a+ R/ @5 D6 ^- C& T- |* s( k
! p+ X& X) o8 S( K$ j% a字體
0 j. j* g, Z( N3 N; W文字間的空間
, K O) U3 J. E0 o5 S e, \. W* p# F! j列表
1 a( g# D$ P+ Q3 A3 n! ^顏色 _( v# K' f# f8 c7 p: {
背景 " N5 O& M9 P6 S( G- G+ G
Margin
) ?+ M" y, U) i* Y4 S$ M+ }位置 |