選單
×
   ❮     
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 網頁字型 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 網頁安全字型 CSS 可動畫屬性 CSS 單位 CSS PX 轉 EM 轉換器 CSS 顏色 CSS 顏色值 CSS 預設值 CSS 瀏覽器支援

CSS - @property 規則


CSS @property 規則

@property 規則用於在樣式表中直接定義自定義 CSS 屬性,而無需執行任何 JavaScript。

@property 規則具有資料型別檢查和約束、設定預設值以及定義屬性是否可以繼承值。

定義自定義屬性的示例

@property --myColor {
  syntax: "<color>";
  inherits: true;
  initial-value: lightgray;
}

上面的定義表示 --myColor 是一個顏色屬性,它可以從父元素繼承值,其預設值為 lightgray。

要在 CSS 中使用自定義屬性,我們使用 var() 函式

body {
  backgound-color: var(--myColor);
}

使用 @property 的好處

  • 型別檢查:您必須指定自定義屬性的資料型別,例如 <number>、<color>、<length> 等。這可以防止錯誤並確保自定義屬性被正確使用。
  • 設定預設值:您為自定義屬性設定一個預設值。這樣可以確保如果稍後分配了無效值,瀏覽器將使用定義的備用值。
  • 設定繼承行為:您必須指定自定義屬性是否可以從其父元素繼承值。

瀏覽器支援

表格中的數字表示完全支援該規則的第一個瀏覽器版本。

屬性
@property 85 85 128 16.4 71

簡單的 @property 示例

以下示例定義了兩個自定義屬性:my-bg-color 和 my-txt-color。然後,div 在 background-color 和 color 中使用自定義屬性。

示例

@property --my-bg-color {
  syntax: "<color>";
  inherits: true;
  initial-value: lightgray;
}

@property --my-txt-color {
  syntax: "<color>";
  inherits: true;
  initial-value: darkblue;
}

div {
  width: 300px;
  height: 150px;
  padding: 15px;
  background-color: var(--my-bg-color);
  color: var(--my-txt-color);
}
自己動手試一試 »


另一個 @property 示例

在下面的示例中,我們在 <div> 元素上使用了預設的自定義屬性。然後我們在 .fresh 類和 .nature 類中覆蓋了自定義屬性(透過設定其他顏色),效果完美。

示例

@property --my-bg-color {
  syntax: "<color>";
  inherits: true;
  initial-value: lightgray;
}

div {
  width: 300px;
  height: 150px;
  padding: 15px;
  background-color: var(--my-bg-color);
}

.fresh {
  --my-bg-color: #ff6347;
}

.nature {
  --my-bg-color: rgb(120, 180, 30);
}
自己動手試一試 »

使用型別檢查和備用值避免錯誤

在下面的示例中,我們將 .nature 類中的自定義屬性設定為整數。這是無效的,瀏覽器將使用初始值屬性(lightgray)中定義的備用顏色。

示例

@property --my-bg-color {
  syntax: "<color>";
  inherits: true;
  initial-value: lightgray;
}

div {
  width: 300px;
  height: 150px;
  padding: 15px;
  background-color: var(--my-bg-color);
}

.fresh {
  --my-bg-color: #ff6347;
}

.nature {
  --my-bg-color: 2;
}
自己動手試一試 »

使用 inherits 值

在下面的示例中,我們將 inherits 值設定為 false。這意味著自定義屬性將不會從其父元素繼承值。請看結果。

示例

@property --my-bg-color {
  syntax: "<color>";
  inherits: false;
  initial-value: lightgray;
}
自己動手試一試 »

下一個示例將 inherits 值設定為 true。這意味著自定義屬性將從其父元素繼承值。請看結果。

示例

@property --my-bg-color {
  syntax: "<color>";
  inherits: true;
  initial-value: lightgray;
}
自己動手試一試 »

使用 @property 建立平滑動畫

使用 @property 規則,您可以實現一個全新的機會:動畫以前無法動畫的內容:漸變。請看下面的示例。

示例

為漸變指定兩個自定義屬性

@property --startColor {
  syntax: "<color>";
  initial-value: #EADEDB;
  inherits: false;
}

@property --endColor {
  syntax: "<color>";
  initial-value: #BC70A4;
  inherits: false;
}
自己動手試一試 »

CSS @property 規則

屬性 描述
@property 在樣式表中直接定義自定義 CSS 屬性,而無需執行任何 JavaScript。

×

聯絡銷售

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

報告錯誤

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

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

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