CSS 繼承和覆蓋
在某些情況下,可能需要阻止子元素繼承從其父元素繼承的樣式。雖然沒有特定的 CSS 屬性可以實現此目的,但可以手動恢復樣式變更或新增其他類別來定義更具體的樣式。
例如,請考慮以下HTML 和CSS:
HTML:
<body> <div>
CSS:
form div {font-size: 12px; font-weight: bold;} div.content { /* Can anything go here? */ }
正常情況下,文字會屏蔽「Content of the paragraph」和「Content of the span」將從父親「form div」元素繼承字體大小和粗細,導致兩個文字都是粗體和 12px。
要防止這種繼承並將樣式限制為僅“段落內容”,可以手動恢復樣式更改:
div { color: green; } form div { color: red; } form div div.content { color: green; }
或者,如果可能的話,向標記添加其他類可以提供更精確的樣式:
<form div.sub { color: red; } form div div.content { /* remains green */ }
現代瀏覽器的最新版本現在支援「恢復」屬性以明確恢復特定元素的繼承:
div.content { all: revert; }
這允許更簡潔和靈活的樣式覆蓋。
以上是如何防止CSS繼承父元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!