首頁 > web前端 > css教學 > 如何根據 CSS 中子元素的存在來設定父元素的樣式?

如何根據 CSS 中子元素的存在來設定父元素的樣式?

Linda Hamilton
發布: 2024-11-28 02:23:14
原創
630 人瀏覽過

How Can I Style a Parent Element Based on the Presence of a Child Element in CSS?

使用CSS 根據子級的存在將樣式應用於父級

使用巢狀元素時,可能需要將樣式套用於父級基於是否包含子元素。 CSS 為此提供了有限的解決方案。

使用 ':has()' 選擇器

:has() 選擇器可用來選取包含特定的子元素。例如,要對包含ul.sub 子元素的父li 元素套用樣式:

ul li:has(ul.sub) {
    background-color: green;
}
登入後複製

限制

不幸的是,:has() 選擇器僅在CSS4 中受支持,並未被瀏覽器廣泛採用。

替代方案使用JavaScript

作為替代方案,您可以使用JavaScript 實現所需的效果:

$('ul li:has(ul.sub)').addClass('has_sub');
登入後複製

然後,在CSS 中為li.has_sub 類別新增樣式。

注意:

建議使用的原始答案中的刪除線部分$ 選擇器,這是 CSS4 提案,但目前任何瀏覽器都不支援。

以上是如何根據 CSS 中子元素的存在來設定父元素的樣式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板