搜尋
首頁web前端css教學CSS自定義屬性的範圍的功率(和樂趣)

CSS自定義屬性的範圍的功率(和樂趣)

CSS自定義屬性(變量)通常會忽略強大的範圍範圍。本文探討瞭如何利用這種力量來進行高效和動態的樣式。

雖然您可能熟悉基本CSS變量用法(例如--size: 1em; font-size: var(--size); ),但它們的全部潛在潛力在於他們的範圍能力。這允許大幅減少代碼和更容易的維護。

讓我們檢查實際應用:

示範樣式:一個按鈕示例

考慮造型初級和輔助按鈕。傳統方法可能涉及每種按鈕類型及其各種狀態(懸停,活動)的單獨樣式。這導致重複代碼。

使用示波器變量,我們可以定義基本按鈕樣式,然後僅改變不同按鈕類型的色調:

 。按鈕 {
  填充:1REM 1.25REM;
  顏色:#fff;
  字體重量:大膽;
  字體大小:1.25REM;
  保證金:1REM;
  過渡:背景0.1s易於;
  背景:HSL(var(-hue),100%,50%);
  輪廓顏色:HSL(var(-hue),100%,80%);
}
。 }
.button:Active {背景:HSL(var(-hue),100%,30%); }

.button- primary { -  -hue:233; }
。 }

這大大減少了代碼並簡化了維護。更改基礎.button丁頓風格會自動更新所有變體。此外,您可以直接在HTML中嵌入變量,以獲得更大的靈活性:

<button class="button" style="--hue: 20;">覆蓋</button>

帶有內聯變量的動態動畫

例如,將自定義屬性與動態生成相結合時,真正的功能會閃耀,例如,使用Pug或JavaScript等模板引擎。這允許隨機內聯變量分配,為每個元素創建唯一的動畫。

示例:一個“激動”按鈕

讓我們創建一個按鈕,該按鈕巧妙地漂浮,然後在懸停在懸停的情況下“搖動”。我們沒有為每個動畫定義單獨的密鑰幀,而是使用變量來控制單個密鑰幀中的動畫行為:

 。按鈕 {
   -  Y:-25; -X:0; - 旋轉:0; - 速度:2;
  動畫:流動和振動計算(var( - 速度) * 1s)無限易於插入;
}

.button:懸停{-speed:.1; -X:1; -y:-1; - 旋轉:-1; }

@keyframes flow and shake {
  0%,100%{轉換:translate(calc(var(-x) * -1%),calc(var(-y) * -1%))旋轉(calc(var(var( -  rotation) * -1deg))); }
  50%{轉換:轉換(calc(var(-x) * 1%),calc(var(-y) * 1%))旋轉(calc(calc(var(-otation) * 1deg))); }
}

這種方法大大減少了所需的關鍵幀定義數量,從而導致更清潔,更可維護的代碼。

示例:隨機氣泡

在此基礎上,我們可以創建一個帶有多個動畫氣泡的場景,每個場景都有隨機屬性(大小,位置,動畫速度等)都通過示波器CSS變量來控制。這展示了將可變範圍與動態內容產生結合的功能。

總而言之,有效地利用CSS自定義屬性及其範圍功能,可以創建具有較少代碼的動態和復雜樣式,從而提高可維護性和效率。提供的示例演示瞭如何為靜態和動畫元素實現這一目標。

以上是CSS自定義屬性的範圍的功率(和樂趣)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
兩個圖像和一個API:我們重新著色產品所需的一切兩個圖像和一個API:我們重新著色產品所需的一切Apr 15, 2025 am 11:27 AM

我最近找到了一種動態更新任何產品圖像的顏色的解決方案。因此,只有一種產品之一,我們可以以不同的方式對其進行著色以顯示

每周平台新聞:第三方代碼,被動混合內容,連接最慢的國家的影響每周平台新聞:第三方代碼,被動混合內容,連接最慢的國家的影響Apr 15, 2025 am 11:19 AM

在本週的綜述中,燈塔在第三方腳本上闡明了燈光,不安全的資源將在安全站點上被阻止,許多國家連接速度

託管您自己的非JavaScript分析的選項託管您自己的非JavaScript分析的選項Apr 15, 2025 am 11:09 AM

有很多分析平台可幫助您跟踪網站上的訪問者和使用數據。也許最著名的是Google Analytics(廣泛使用)

它全部都在頭上:管理帶有React頭盔的React Power Site的文檔頭它全部都在頭上:管理帶有React頭盔的React Power Site的文檔頭Apr 15, 2025 am 11:01 AM

該文檔負責人可能不是網站上最迷人的部分,但是其中所處的內容對於您的網站的成功也一樣重要

JavaScript中的Super()是什麼?JavaScript中的Super()是什麼?Apr 15, 2025 am 10:59 AM

當您看到一些稱為super()的JavaScript時,在子類中,您會使用super()調用其父母的構造函數和超級。訪問它

比較不同類型的本機JavaScript彈出窗口比較不同類型的本機JavaScript彈出窗口Apr 15, 2025 am 10:48 AM

JavaScript具有各種內置彈出API,它們顯示用於用戶交互的特殊UI。著名:

為什麼可訪問的網站如此難以構建?為什麼可訪問的網站如此難以構建?Apr 15, 2025 am 10:45 AM

前幾天,我與一些前端人們聊天,講述了為什麼這麼多公司努力創建可訪問的網站。為什麼可訪問的網站如此艱難

'隱藏”屬性顯然很弱'隱藏”屬性顯然很弱Apr 15, 2025 am 10:43 AM

有一個HTML屬性,它可以正是您認為應該做的:

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中