跳至內容

網頁程式設計/CSS

來自華夏公益教科書,開放的書籍,開放的世界

目標

  • 使用基本的 CSS 規則來設定 HTML 元素的常用屬性
  • 識別 CSS 規則應用的順序
  • 解決規則衝突
  • 透過跟蹤 HTML 和 CSS 原始碼來繪製網頁

資源

CSS 語法

[編輯 | 編輯原始碼]

CSS 代表 層疊樣式表。CSS 檔案是附加到 HTML 檔案的外部/附加檔案,用於對網頁進行樣式設定。請注意,CSS 檔案的語法不同於 HTML 語法。CSS 檔案包含一組規則,應用這些規則將影響它所關聯的頁面的外觀。每個規則都以一個選擇器開頭,該選擇器將在頁面上選擇多個元素,而規則的主體指定哪個屬性應具有什麼值。CSS 規則的通用格式如下

selector {
  property: value;
  property: value;
  ...
  property: value;
}

以下示例規則選擇所有段落元素,並將文字顏色設定為紅色,並將段落中的文字居中對齊。

p {
     color: red;
     text-align: center;
}

您可以在 [1] 中看到執行的示例。

如示例所示,規則的主體可以包含多個以“;”結尾的語句/宣告。每個語句都是一個屬性名稱和值對(以“:”分隔)。

有三種方法可以將樣式表附加到檔案

  • 外部樣式表文件(由 <head> 中的 <link> 元素指向)
  • 內部樣式表(作為 <head> 中的 <style> 元素)
  • 內聯樣式(作為元素的屬性)

以下示例顯示瞭如何將外部 CSS 檔案連結到 HTML。有關其他示例,請訪問 CSS 操作指南

...
<head>
  <link rel="stylesheet" type="text/css" href="mystyle.css">
</head>
...

常用屬性

[編輯 | 編輯原始碼]

檢視 此示例 中設定字型顏色的不同方法。

您可以使用 此站點 來查詢瀏覽器中所有支援的字體系列。

樣式文字

[編輯 | 編輯原始碼]

裝飾和轉換

[編輯 | 編輯原始碼]

CSS3 陰影

[編輯 | 編輯原始碼]

浮動影像

[編輯 | 編輯原始碼]

層疊規則

[編輯 | 編輯原始碼]

CSS 規則也可以嵌入到 HTML 程式碼中,作為標籤的“style”屬性(內聯樣式)或作為 head 元素中的指令碼元素。如果我們在不同的位置指定了多個規則,但它們都影響頁面上的同一個元素,會發生什麼?這就是層疊(優先順序)規則發揮作用的地方。以下是 CSS 位置按優先順序降序排列

  1. 標籤的 style 屬性中的規則
  2. head 中的指令碼元素中的規則
  3. 外部 CSS 檔案中的規則
  4. 從父元素繼承的規則
  5. 瀏覽器預設知道的規則

例如,內聯樣式將始終優先於其他樣式。如果元素沒有設定內聯樣式,瀏覽器將嘗試使用指令碼元素中的 CSS 規則。

當來自同一位置的兩個規則將相同的屬性設定為不同的值時,就會發生衝突,可以透過讓更具體的(緊密匹配的)規則覆蓋更通用的(或繼承的)規則來解決衝突,如果兩個規則匹配程度相同,則最後出現的規則生效。

  • 由 id 選擇器設定的規則最具體。
  • 由類選擇器、屬性選擇器或偽類選擇器設定的規則不太具體。
  • 由標籤選擇器或偽元素選擇器設定的規則最不具體。

CSS 偽類

[編輯 | 編輯原始碼]

偽類允許我們對處於特定狀態的元素應用樣式,例如,以下規則僅在滑鼠懸停在選定元素上時才會生效。檢視 此參考 以獲取詳細資訊。

a:hover {
  background-color: red;
}

CSS 偽元素

[編輯 | 編輯原始碼]

CSS 偽元素用於為元素的指定部分設定樣式。以下兩個示例分別使用 CSS2 和 CSS3 語法。檢視 此參考 以獲取詳細資訊。

p:first-line {
    color: #ff0000;
}
p::first-line {
    color: #ff0000;
}

CSS2 添加了新的選擇器,例如 nth-child、inline-block、:not、+,以及在頁面中嵌入字型的能力。它還提供對多列布局、透明度/不透明度、顏色漸變、陰影、圓角/邊框、邊框半徑、動畫/過渡和仿射變換(縮放、旋轉、透視)的內建支援。

CSS3 顏色

[編輯 | 編輯原始碼]

CSS3 提供了三種新的顏色指定方法。檢視 此參考 以獲取詳細資訊。

rgba(red%, green%, blue%, opacity-value)
hsl(hue-degrees, saturation%, lightness%)
hsla(hue-degrees, saturation%, lightness%, opacity-value)
華夏公益教科書