你的問題的根本原因是使用了!important
寫得不好的規則。這是一個很好的例子,爲什麼不使用!important
。如果可能的話,試着瞭解爲什麼!important
被認爲需要在那裏,看看你是否可以刪除它。
但是如果你還沒有與一條重要的規則作鬥爭,你唯一的選擇就是用火焚燒火,然後折回你自己的一個!important
,這條規則是爲了優先考慮,因爲它更具體(在這個情況下,你重寫規則有七個班,原來的規則的六個,所以是更具體),把它在文件後面,如果有相同的特異性,或者如果你沒有其他選擇使用各種招數可用提高特異性。
話雖如此,總體而言,這CSS似乎是結構不良,冗長,且效率低下。
.app.programEditor .actions .widget.bt-flat > .bt-flat-icon {
首先,如果.app
是適用於整個應用程序的一類,它可能是沒有必要的。如果.actions
只發生在.app.programEditor
內,那麼後者根本就沒有必要。如果.bt-flat
只能適用於小部件,然後代替widget.bt-flat
你可以只寫.bt-flat
。如果.bt-flat-icon
只能在.bt-flat
內發生,看起來很可能,那麼.widget.bt-flat
可能不是必需的。等等。通常,不要在CSS規則中記下HTML層次結構中的每個類,而是嘗試將選擇器限制爲唯一選擇所需元素所需的選擇器。在這種情況下,例如,有可能您的規則可以簡單,如(只是一個例子)寫:
.programEditor .actions .widget > .bt-flat-icon {
二,神奇數字145和19是一個龐大的代碼味道。它們可能與CSS中其他幻燈片的寬度和高度相關聯,並且如果這些更改將不得不更改。 145和19是什麼意思?也許他們實際上是一些基礎維度的一個百分比。換句話說,也許某個元素的寬度爲160像素,我們希望將該圖標放在右上角。在這種情況下,您可以使用百分比,或者指定right
屬性,或者使用transform
屬性,而不必使用硬連線145,因此無論寬度如何變化 - 例如.col2
的引入 - 圖標保留在原始規則的正確位置。
您需要恢復頂部和左側屬性的第一條規則。一個空的規則沒有影響 – fcalderan
謝謝你的回答,但請你能告訴我如何在代碼中做到這一點? –
@OssamaBenbouidda我可能會建議你需要發佈HTML。這是一個特定性問題,您可以在這裏閱讀更多信息:https://css-tricks.com/specifics-on-css-specificity/ – Rasmus