CSS !important 規則
什么是 !important?
CSS 中的 !important
規則用于為屬性/值增加比普通樣式更高的優先級。
實際上,如果你使用了 !important
規則,它將覆蓋該元素上該特定屬性的所有先前樣式規則!
讓我們看一個例子:
實例
#myid { background-color: blue; } .myclass { background-color: gray; } p { background-color: red !important; }
例子解釋
在上面的例子中,所有三個段落都將獲得紅色背景顏色,盡管 ID 選擇器和類選擇器具有更高的特異性。!important
規則覆蓋了這兩種情況下的 background-color 屬性。
關于 !important 的重要事項
覆蓋 !important
規則的唯一方法是在源代碼中包含另一個具有相同(或更高)特異性的聲明中的 !important
規則 - 這就是問題的開始!這會使 CSS 代碼變得混亂,調試也會變得困難,尤其是在你有大型樣式表的情況下!
這里我們創建了一個簡單的實例。當你查看 CSS 源代碼時,并不十分清楚哪種顏色被認為是最重要的:
實例
#myid { background-color: blue !important; } .myclass { background-color: gray !important; } p { background-color: red !important; }
提示:了解 !important
規則是好的。你可能會在一些 CSS 源代碼中看到它。但是,除非你絕對必須使用它,否則不要使用它。
可能有一兩個合理使用 !important 的情況
一種使用 !important
的情況是,如果你必須覆蓋無法以其他方式覆蓋的樣式。這可能是因為你在使用內容管理系統(CMS)并且無法編輯 CSS 代碼。然后你可以設置一些自定義樣式來覆蓋某些 CMS 樣式。
另一種使用 !important
的情況是:假設你希望頁面上的所有按鈕都具有特殊的外觀。在這里,按鈕的樣式為灰色背景顏色、白色文本以及一些內邊距和邊框:
實例
.button { background-color: #8c8c8c; color: white; padding: 5px; border: 1px solid black; }
如果我們將按鈕放在具有更高特異性的另一個元素中,按鈕的外觀有時會發生變化,并且屬性會發生沖突。以下是一個實例:
實例
.button { background-color: #8c8c8c; color: white; padding: 5px; border: 1px solid black; } #myDiv a { color: red; background-color: yellow; }
為了“強制”所有按鈕無論何時都具有相同的外觀,我們可以將 !important
規則添加到按鈕的屬性中,如下所示:
實例
.button { background-color: #8c8c8c !important; color: white !important; padding: 5px !important; border: 1px solid black !important; } #myDiv a { color: red; background-color: yellow; }