CSS 概述
- CSS 指層疊樣式表 (Cascading Style Sheets)
- 樣式定義如何顯示 HTML 元素
- 樣式通常存儲在樣式表中
- 把樣式添加到 HTML 4.0 中,是爲了解決內容與表現分離的問題
- 外部樣式表可以極大提高工作效率
- 外部樣式表通常存儲在 CSS 文件中
- 多個樣式定義可層疊爲一
當同一個 HTML 元素被不止一個樣式定義時,會使用哪個樣式呢?
一般而言,所有的樣式會根據下面的規則層疊於一個新的虛擬樣式表中,其中數字 4 擁有最高的優先權。
- 瀏覽器缺省設置
- 外部樣式表
- 內部樣式表(位於 <head> 標籤內部)
- 內聯樣式(在 HTML 元素內部)
h1 {color:red; font-size:14px;}
每條聲明由一個屬性和一個值組成,使用花括號來包圍聲明。如果要定義不止一個聲明,則需要用分號將每個聲明分開。分號在英語中是一個分隔符號,不是結束符號。
創建一個針對子元素的特殊規則,這樣它就會擺脫父元素的規則。
body {
font-family: Verdana, sans-serif;
}
td, ul, ol, ul, li, dl, dt, dd {
font-family: Verdana, sans-serif;
}
p {
font-family: Times, "Times New Roman", serif;
}
通過依據元素在其位置的上下文關係來定義樣式,可以使標記更加簡潔。
li strong {
font-style: italic;
font-weight: normal;
}
<ol>
<li><strong>我是斜體字。這是因爲 strong 元素位於 li 元素內。</strong></li>
</ol>
#red {color:red;}
<p id="red">這個段落是紅色。</p>
#sidebar p {
font-style: italic;
text-align: right;
margin-top: 0.5em;
}
上面的樣式只會應用於出現在 id 是 sidebar 的元素內的段落。.center {text-align: center}
<h1 class="center">
This heading will be center-aligned
</h1>
類名的第一個字符不能使用數字!它無法在 Mozilla 或 Firefox 中起作用。.fancy td {
color: #f60;
background: #666;
}
在上面這個例子中,類名爲 fancy 的更大的元素內部的表格單元都會以灰色背景顯示橙色文字。(名爲 fancy 的更大的元素可能是一個表格或者一個 div)td.fancy {
color: #f60;
background: #666;
}
<td class="fancy"> </td>
在上面的例子中,類名爲 fancy 的表格單元將是帶有灰色背景的橙色。只有在規定了 !DOCTYPE 時,IE7 和 IE8 才支持屬性選擇器。在 IE6 及更低的版本中,不支持屬性選擇。
[title]
{
color:red;
}
<p title="Hi">Hi!</p>
選擇器 描述
[attribute=value] 用於選取帶有指定屬性和值的元素。
[attribute~=value] 用於選取屬性值中包含指定詞彙的元素。
[attribute|=value] 用於選取帶有以指定值開頭的屬性值的元素,該值必須是整個單詞。
[attribute^=value] 匹配屬性值以指定值開頭的每個元素。
[attribute$=value] 匹配屬性值以指定值結尾的每個元素。
[attribute*=value] 匹配屬性值中包含指定值的每個元素。