如何將'div”容器與公共 CSS 樣式隔離並防止其子級繼承全域樣式?
將Div 與公用CSS 樣式隔離
問題
考慮以下HTML 程式碼:
<code class="html"><div id="mydiv"> <img src="an image source" /> <h1>Hi it's test</h1> </div></code>
登入後複製
考慮以下HTML 程式碼:
<code class="css">img { width: 100px; height: 100px; } h1 { font-size: 26px; color: red; }</code>
登入後複製
應用以下內容樣式表:
問題出現了:我們如何防止為所有標籤會影響 #mydiv 容器中的元素嗎?
解決方案要將 #mydiv 中的元素與全域 CSS 樣式隔離,我們可以利用 all 簡寫屬性和中引入的 unset 關鍵字CSS 級聯和繼承等級 3。 透過在 #mydiv 上設定 all:initial,我們封鎖所有屬性的繼承並將其重設為預設值。這可以防止全域樣式級聯到容器中。 為了允許在 #mydiv 內繼承,我們可以在其後代上設定 all: unset。透過這樣做,我們可以使容器內定義的規則生效,而不受外部樣式的干擾。<code class="css">#mydiv { all: initial; } #mydiv * { all: unset; }</code>
登入後複製
這是修改後的CSS程式碼:
<code class="css">#mydiv::before, #mydiv::after, #mydiv *::before, #mydiv *::after { all: unset; }</code>
登入後複製
需要注意的是,這種技術適用於所有可能的 CSS 屬性,包括供應商前綴的屬性。為了確保廣泛的瀏覽器支持,建議也以偽元素為目標:
替代方法<code class="css">#mydiv { align-content: initial; align-items: initial; align-self: initial; ... color: inherit; ... } #mydiv::before, #mydiv::after, #mydiv *, #mydiv *::before, #mydiv *::after { align-content: initial; align-items: initial; align-self: initial; ... color: inherit; ... }</code>
登入後複製
或者,為了更廣泛的瀏覽器兼容性,您可以手動將每個CSS 屬性設定為其初始值#mydiv 上的值並繼承其後代,如下列程式碼所示:
瀏覽器支援- 以下瀏覽器支援all 簡寫屬性:
- Chrome 37
- Firefox 27
- Safari 9.1
- Edge 79
以上是如何將'div”容器與公共 CSS 樣式隔離並防止其子級繼承全域樣式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章
<🎜>:種植花園 - 完整的突變指南
3 週前
By DDD
<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
如何修復KB5055612無法在Windows 10中安裝?
3 週前
By DDD
北端:融合系統,解釋
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前
By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

在本週的平台新聞綜述中,Chrome引入了一個用於加載的新屬性,Web開發人員的可訪問性規範以及BBC Move

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

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