轉 CSS的組合和巢狀 id class, 點, #
CSS的組合和巢狀
組合
你不必重複有相同屬性的多個選擇符,你只要用英文逗號(,)隔開選擇符就可以了。
比如,你有如下的程式碼:
h2 { color: red; }
.thisOtherClass { color: red; }
.yetAnotherClass { color: red; }
則你可以這樣寫:
h2, .thisOtherClass, .yetAnotherClass { color: red; }
使用組合,你可以一次定義多個CSS,為你節省很多位元組和時間.
巢狀
CSS結構好的話,沒有必要使用過多的類或者標識選擇符。這是因為你可以指定在選擇符內的選擇符。
(或者更好的說法,上下文選擇符--譯者
著)
比如:
#top { background-color: #ccc; padding: 1em }
#top h1 { color: #ff0; }
#top p { color: red; font-weight: bold; }
這就減去不必要的類或者標識選擇符,如果應用到像這樣的HTML中:
<div id="top">
<h1>Chocolate curry</h1> <p>This is my recipe for making curry purely with chocolate</p> <p>Mmm mm mmmmm</p>
</div>
這是因為,用英文半形空格間隔選擇符,我們指明瞭在標識id內的h1有“#ff0”的顏色,而p則是紅色red和粗體bold。
這可能也會有些複雜(因為可能不止兩級,比如在內在內在內在內等等)。你有必要多加練習。
使用巢狀,可以讓你的CSS程式碼讀起來更清晰,能給你制定的元素定製CSS.
類class和標識id選擇符的區別你可以用類選擇符class和標識選擇符id來定義自己的選擇符。
這樣做的好處是,依賴於class或者id,你可以不同地表現相同的HTML元素。
在CSS中,類選擇符在一個半形英文句點(.)之前,而id則在半形英文井號(#)之前。
看起來像這樣:
#top { background-color: #ccc; padding: 1em } .intro { color: red; font-weight: bold; }
HTML與CSS的連線用屬性id和class。像這樣:
<div id="top"> <h1>Chocolate curry</h1> <p class="intro">This is my recipe for making curry purely with chocolate</p> <p
class="intro">Mmm mm mmmmm</p> </div>
id和class不同之處在於,id用在唯一的元素上,而class則用在不止一個的元素上。
你也可以為一個指定的HTML元素應用選擇符,把HTML選擇符放置在前面就可以了,所以, p.jam { whatever }會應用在有類“jam”的段落上
。
一個id名稱在一個頁面裡面通常是唯一定義的,因此在頁面裡定義css通常建議使用class,這樣你可以重複使用你的css. 而把id留給最需要使用
html元素的javascript等