選單
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

CSS 教程

CSS 主頁 CSS 簡介 CSS 語法 CSS 選擇器 CSS 如何做 CSS 註釋 CSS 顏色 CSS 背景 CSS 邊框 CSS 外邊距 CSS 內邊距 CSS 高度/寬度 CSS 盒模型 CSS 輪廓 CSS 文字 CSS 字型 CSS 圖示 CSS 連結 CSS 列表 CSS 表格 CSS Display CSS Max-width CSS Position CSS Z-index CSS Overflow CSS Float CSS Inline-block CSS Align CSS 組合器 CSS 偽類 CSS 偽元素 CSS 透明度 CSS 導航欄 CSS 下拉選單 CSS 圖片庫 CSS 圖片精靈 CSS 屬性選擇器 CSS 表單 CSS 計數器 CSS 網站佈局 CSS 單位 CSS 特異性 CSS !important CSS 數學函式

CSS 高階

CSS 圓角 CSS 邊框圖片 CSS 背景 CSS 顏色 CSS 顏色關鍵字 CSS 漸變 CSS 陰影 CSS 文字效果 CSS Web 字型 CSS 2D 轉換 CSS 3D 轉換 CSS 過渡 CSS 動畫 CSS 工具提示 CSS 樣式影像 CSS 影像反射 CSS object-fit CSS object-position CSS 遮罩 CSS 按鈕 CSS 分頁 CSS 多列 CSS 使用者介面 CSS 變數 CSS @property CSS 盒尺寸 CSS 媒體查詢 CSS MQ 示例 CSS Flexbox

CSS 響應式

RWD 簡介 RWD 視口 RWD 網格檢視 RWD 媒體查詢 RWD 圖片 RWD 影片 RWD 框架 RWD 模板

CSS 網格

網格簡介 網格容器 網格項

CSS SASS

SASS 教程

CSS 示例

CSS 模板 CSS 示例 CSS 編輯器 CSS 片段 CSS 測驗 CSS 練習 CSS 網站 CSS 面試準備 CSS 訓練營 CSS 證書

CSS 參考手冊

CSS 參考 CSS 選擇器 CSS 函式 CSS 參考(聽覺) CSS Web 安全字型 CSS 可動畫屬性 CSS 單位 CSS PX 轉 EM 轉換器 CSS 顏色 CSS 顏色值 CSS 預設值 CSS 瀏覽器支援

CSS 特異性


什麼是特異性?

如果有兩個或多個 CSS 規則指向同一個元素,特異性值最高的選擇器將“獲勝”,其樣式宣告將被應用於該 HTML 元素。

將特異性視為一個分數/排名,它決定了最終將哪個樣式宣告應用於元素。

看看下面的例子

示例 1

在此示例中,我們使用“p”元素作為選擇器,併為此元素指定了紅色。文字將是紅色的

<html>
<head>
  <style>
    p {color: red;}
  </style>
</head>
<body>

<p>你好世界!</p>

</body>
</html>

自己動手試一試 »

現在,看看示例 2

示例 2

在此示例中,我們添加了一個類選擇器(名為“test”),併為此類指定了綠色。文字現在將是綠色的(即使我們為元素選擇器“p”指定了紅色)。這是因為類選擇器具有更高的優先順序

<html>
<head>
  <style>
    .test {color: green;}
    p {color: red;}
  </style>
</head>
<body>

<p class="test">你好世界!</p>

</body>
</html>

自己動手試一試 »

現在,看看示例 3

示例 3

在此示例中,我們添加了 ID 選擇器(名為“demo”)。文字現在將是藍色的,因為 ID 選擇器具有更高的優先順序

<html>
<head>
  <style>
    #demo {color: blue;}
    .test {color: green;}
    p {color: red;}
  </style>
</head>
<body>

<p id="demo" class="test">你好世界!</p>

</body>
</html>

自己動手試一試 »

現在,看看示例 4

示例 4

在此示例中,我們為“p”元素添加了內聯樣式。文字現在將是粉色的,因為內聯樣式具有最高的優先順序

<html>
<head>
  <style>
    #demo {color: blue;}
    .test {color: green;}
    p {color: red;}
  </style>
</head>
<body>

<p id="demo" class="test" style="color: pink;">你好世界!</p>

</body>
</html>

自己動手試一試 »


特異性層級

每個 CSS 選擇器在特異性層級中都有自己的位置。

有四個類別定義了選擇器的特異性級別

  1. 內聯樣式 - 示例:<h1 style="color: pink;">
  2. ID - 示例:#navbar
  3. 類、偽類、屬性選擇器 - 示例:.test, :hover, [href]
  4. 元素和偽元素 - 示例:h1, ::before

如何計算特異性?

記住如何計算特異性!

從 0 開始,每有一個 ID 值加 100,每有一個類值(或偽類或屬性選擇器)加 10,每有一個元素選擇器或偽元素加 1。

注意: 內聯樣式獲得特異性值 1000,並且始終具有最高優先順序!

注意 2: 這個規則有一個例外:如果您使用 !important 規則,它甚至會覆蓋內聯樣式!

下表展示了一些如何計算特異性值的示例

選擇器 特異性值 計算
p 1 1
p.test 11 1 + 10
p#demo 101 1 + 100
<p style="color: pink;"> 1000 1000
#demo 100 100
.test 10 10
p.test1.test2 21 1 + 10 + 10
#navbar p#demo 201 100 + 1 + 100
* 0 0(通用選擇器被忽略)

特異性值最高的選擇器將獲勝並生效!

考慮這三個程式碼片段

示例

A: h1
B: h1#content
C: <h1 id="content" style="color: pink;">標題</h1>

A 的特異性是 1(一個元素選擇器)
B 的特異性是 101(一個 ID 引用 + 一個元素選擇器)
C 的特異性是 1000(內聯樣式)

由於第三條規則 (C) 具有最高的特異性值 (1000),因此將應用此樣式宣告。



更多特異性規則示例

特異性相同:最後規則獲勝 - 如果相同的規則在外部樣式表中被寫入兩次,則最後編寫的規則獲勝

示例

h1 {background-color: yellow;}
h1 {background-color: red;}

自己動手試一試 »


ID 選擇器比屬性選擇器具有更高的特異性 - 看看下面的三行程式碼

示例

div#a {background-color: green;}
#a {background-color: yellow;}
div[id=a] {background-color: blue;}

自己動手試一試 »

第一條規則比其他兩條更具體,因此將被應用。


上下文選擇器比單個元素選擇器更具體 - 嵌入式樣式表更接近要設定樣式的元素。所以在下面的情況下

示例

/* 來自外部 CSS 檔案:*/
#content h1 {background-color: red;}

/* 在 HTML 檔案中:*/
<style>
#content h1 {background-color: yellow;}
</style>

後者規則將被應用。


類選擇器勝過任意數量的元素選擇器 - 類選擇器(如 .intro)勝過 h1、p、div 等

示例

.intro {background-color: yellow;}
h1 {background-color: red;}

自己動手試一試 »


通用選擇器 (*) 和繼承的值特異性為 0 - 通用選擇器 (*) 和繼承的值將被忽略!


×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援