上一節開始我們討論 CSS (Cascading Style Sheet) 的基礎. 告訴你有三種 Selector. 但只介紹了其中的 HTML selector. 這一節我們把三種都詳細介紹給你
9 N( L" d3 c5 A% P2 h. O' L d" ?- o' j( ^3 U8 _
HTML selector
9 @) ]+ H8 M1 ]# D$ k; Gclass selector:
. A4 I- z+ H @, [* _ID selector:
8 S: L* r8 _9 V7 {! e' o3 xHTML selector ) s7 h9 r& Y: x' Z1 h7 w8 b0 F
$ l! f0 i1 O/ m, j+ ~4 S, AHTML selector 就是 HTML 的 tags, 比如 P, DIV, TD 等. 如你用 CSS 定義了它們, 在整頁中, 這個 Tag 的性質就按照你 的定義來顯示了. HTML selector 的語法如下 6 l7 m$ U: f, _9 c6 Y+ n
1 @3 L5 l C ]1 q1 r, C
tag {property:value}+ I' h9 w2 I& x T( }' R
比如我們想叫 H1 的顏色是紅的
; m M1 A& F' q, \
+ I, F6 m6 O& H( p2 J# |7 i H1 {color: red}
1 J& \3 t Q% T# r8 C! R這裡還要告訴你 CSS 的一個特點, 它可定義好幾個 selector 在一個 rule 裡. 比如
% d0 o7 u( k5 e! n/ o# S) V9 f0 Z) `0 `5 |5 [
H1, H2, TD {color: red}# L* B" p# Y) `$ ]; j" |& x2 }
這個定義就能讓所有的 H1, H2, 和 TD 的顏色都為紅色.2 J/ r' z0 `4 M! _3 w( t- Y
$ I5 H1 q9 g6 E" S8 p+ qClass selector
( {8 M7 X+ J7 |2 i! A: \, ?
8 X6 }4 l8 Q4 @. S zClass selector 有兩種, 一種叫相關 class selector, 它跟一 個 HTML 的 tag 有關係. 它的語法是 ; B* K( |7 O2 \' R& q; }
4 _' b+ J* A3 y9 }; l. R tag.Classname {property:value}
& P$ l( E9 s! p0 n' K( c' V2 Z6 W8 V比如我們想叫一些而不是全部 H2 的顏色是紅的 ' W0 a! y" N& h7 l% }9 b
$ f$ q8 Q$ k4 g2 U6 }: ~/ `
<style>
2 {3 i2 g; S8 k3 o3 ]5 k" h9 F H2.redone {color: red}5 O0 @5 |3 m+ s, V! t {. d& Z# S& t
</style>' [ v# W& q+ U/ a. l" t
9 G) q9 i) ~# M7 t2 F& B9 k
<H2>This is H2</H2>
# y7 a# @% I$ J: X<H2 class=redone>This is red H2</H2>6 b+ K, k/ G; S4 T
This is H2" h+ K- i, l5 K
This is red H2 , f8 e, o0 K, w
. O+ Y p: ^+ h! P/ ^- |. J6 S# n5 J9 Q! ~9 J) u
. d; }- {; L0 ~) H5 _* ?0 T
第二種是獨立 class selector . 它可被任何 HTML tag 所應用. 它的語法如下 . n( M6 p/ _7 J) a
5 K2 h( R0 ~- b# S .Classname {property:value}' |1 N' k# j* y5 _( m1 O
假如我們有下面這個定義
7 X3 c. t6 d' E9 z3 \
( \) B$ o5 c$ B+ F& `' x( w .blueone {color: blue}
* v$ G1 i; x4 V那麼我們可以把他應用到不同的 Tag 當中去. 比如 - G8 ]2 K& e; R6 z- Q, D. a6 O$ e
% \0 h5 H# z# ~: u$ ^2 p<style>
2 l T/ \; S! Y7 v" N+ N9 M .blueone {color:blue}5 h, D5 f1 D& B8 G# @
</style>
/ x0 I: o. X1 E* ]& o/ c# q* U& M% E<H2 class="blueone">Blue H2</H2>
8 l9 c7 m6 D3 V/ p {& I1 L* T<P class="blueone">Blue paragraph</P>
: }- W% B H/ E& HBlue H2. C& A& i# U3 ~/ K$ i( U
Blue paragraph
. d9 h& V4 m6 ~, H2 Z M
6 q7 K) ~# I1 \" }& d @ 3 J$ S: a7 v% \$ S$ \. s
" r7 o$ V+ @: T2 a% L% O+ B' |( Y
( W! l, R* b/ u0 D顯然 class selector 給了我們更多的自由." Q6 n! d$ E$ c
" {6 j% T7 [; L1 L" AID selector , n8 w; E. }% s
! w5 X$ c: B% v; E( nID selector 其實跟獨立 class selector 的功能一樣. 而區別在於它們的語法和用法不同, 以及對於 Javascript 縱 HTML 元素有幫助. 它的語法如下
5 g T+ p3 E( t3 v, v( N; R T$ @8 @! q4 m0 s2 G
#IDname {property:value}6 E6 @1 g, O4 a4 V% H
假如我們有下面的定義 : V- O& ?* v7 b* v$ j
% S* }/ H! `6 o) c0 @9 z0 _2 s #yelowone {color: yellow}% b5 j6 j W$ I; `" F( C
我們可以運用這個定義到任何的有同樣 ID 名字的 tag, 比如 8 } }$ S+ h2 ^: i) I
H- v3 H6 t; _
<style>9 x5 V9 P) W0 |/ C
#redone {color: red}
: S0 @* K5 E& s7 n3 ^</style>7 z" ?0 J) H2 |& k
<P ID="redone">text here</P>" t! l) H- p' t; w/ K [5 K
text here
) M* w( D4 }' q! W
& [ C! g: Y' m
6 A; o! U+ x2 E/ |
- a) I& C0 V1 { V7 s
, b/ S& b8 K) J0 b" I) \你可能覺得既然 ID selector 和獨立 class selector 功能一 樣, 為什麼兩者都存在呢. 如果你知道用 CSS-P 來定位的話, 你就明白它們的區別了. 有 ID 的 HTML 元素可以被 CSS-P 和 JavaScript 來縱.
" [( Y4 R+ Z7 n7 g, _7 j7 b) v
6 T" E& _: S& h; b* ^7 e/ {到現在為止, 你已經大概知道如何來寫 CSS 的定義了, 下面我們將會告訴你如何用 CSS 來縱或修改
3 C. ~! N+ _* [5 D, B, u9 Q2 J* I. }8 Y& q
字體
* V* ?7 \$ D* u; c文字間的空間 , D& k) X) m& x/ e4 T ]
列表
1 x7 H. c! b, S, [+ D, h顏色 5 @+ F: K1 _- \ B, h
背景
: {+ v" a. G. n6 U: [ L8 bMargin ( H6 a* P+ ?5 L5 W
位置 |