如何在 CSS 變數(又稱自訂屬性)內儲存繼承值?
場景
考慮以下 CSS 程式碼:
:root { --color: rgba(20, 20, 20, 0.5); } .box { width: 50px; height: 50px; display: inline-block; margin-right: 30px; border-radius: 50%; position: relative; } .red { background: rgba(255, 0, 0, 0.5); } .blue { background: rgba(0, 255, 0, 0.5); } .box:before { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; border-radius: 50%; transform: translateX(30px); background: var(--color); filter: invert(1); }
在這段程式碼中,我們使用 --color 來控制 .box 元素的偽元素的背景。然而,我們可能會遇到這樣的情況,我們希望從父 .box 元素繼承顏色。
CSS 變數繼承挑戰
在 CSS 中,不支援使用繼承關鍵字作為值CSS 變數。這意味著我們無法直接設定 --color 繼承來達到我們想要的效果。
解:使用後備值和初始值
為了克服這個限制,我們可以採用兩種技術:
1。使用後備值:
透過利用 CSS 變數中的後備值,我們可以告訴屬性在未明確定義 --color 的情況下使用繼承。
background: var(--color, inherit);
但是,在這種情況下,因為 --color 總是定義在根層級並繼承,所以永遠不會使用後備值。
2.使用初始值:
我們可以使用初始值來「取消定義」--color 並強制使用後備值。根據CSS規範,初始值是一個空值,它與var()有一個特殊的交互作用。
.box:before { ... background: var(--color, inherit); ... } .box { ... --color: initial; }
透過這個修改,我們可以在CSS變數中實現繼承值繼承,使我們能夠根據父元素的顏色來控制背景顏色。
<div class="box red"></div>
以上是如何用CSS變數實作繼承值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

在這篇文章中,布萊克·莫里(Blackle Mori)向您展示了一些駭客,同時試圖推動同位HTML支持的極限。如果您敢於使用這些,以免您也被標記為CSS罪犯。

具有CSS的自定義光標很棒,但是我們可以將JavaScript提升到一個新的水平。使用JavaScript,我們可以在光標狀態之間過渡,將動態文本放置在光標中,應用複雜的動畫並應用過濾器。

互動CSS動畫和元素相互啟動的元素在2025年似乎更合理。雖然不需要在CSS中實施乒乓球,但CSS的靈活性和力量的增加,可以懷疑Lee&Aver Lee有一天會成為一種

有關利用CSS背景濾波器屬性來樣式用戶界面的提示和技巧。您將學習如何在多個元素之間進行背景過濾器,並將它們與其他CSS圖形效果集成在一起以創建精心設計的設計。

好吧,事實證明,SVG的內置動畫功能從未按計劃進行棄用。當然,CSS和JavaScript具有承載負載的能力,但是很高興知道Smil並沒有像以前那樣死在水中

是的,讓#039;跳上文字包裝:Safari Technology Preview In Pretty Landing!但是請注意,它與在鉻瀏覽器中的工作方式不同。

此CSS-tricks更新了,重點介紹了年鑑,最近的播客出現,新的CSS計數器指南以及增加了幾位新作者,這些新作者貢獻了有價值的內容。

在大多數情況下,人們展示了@Apply的@Apply功能,其中包括Tailwind的單個property實用程序之一(會改變單個CSS聲明)。當以這種方式展示時,@Apply聽起來似乎很有希望。如此明顯


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

Dreamweaver CS6
視覺化網頁開發工具