從CDN樣式表覆蓋CSS規則的最佳方法是什麼?用我自己的替代CDN CSS
例如,我想文飾上的所有固定的文本,我只想用:
a{text-decoration: underline !important;}
由於引導有:
a{text-decoration: none;}
有沒有更好的辦法?
從CDN樣式表覆蓋CSS規則的最佳方法是什麼?用我自己的替代CDN CSS
例如,我想文飾上的所有固定的文本,我只想用:
a{text-decoration: underline !important;}
由於引導有:
a{text-decoration: none;}
有沒有更好的辦法?
是的,當替代方案使用!important
時,通常有更好的方法。使用更高的specificity。換句話說,使選擇器更具體,以便覆蓋Bootstrap選擇器。例如,body a{text-decoration: none;}
每所鏈接的文章:
而不是使用很重要,你考慮:
- 更好地利用CSS層疊特性
- 使用更具體的規則。通過指示元素之前的一個或多個元素>你選擇的規則變得更加具體,並得到更高的優先級
只使用!important
時絕對不會有其他的選擇。
在處理CDN樣式表(我做了很多事情)時,使用!important
來替代自己的規則是一個安全可靠的選項。
是的,你可以用特異技巧和級聯魔法全力以赴。但最終,您的代碼變得複雜,難以理解和維護,而最重要的是,並不總是確保您的規則佔上風。
如果!important
由於某種原因而存在,我認爲這將是:重寫CDN和其他無法控制的第三方樣式。
編輯(有點反彈;-)
這個問題後,可以專注於CDN引導。其他答案可能會滿足這種情況。我不使用Bootstrap。
我的第三方CSS經驗主要涉及嵌入式工具,如搜索,翻譯,視頻和幻燈片演示。
這些程序並不總是以相同的順序加載樣式表。所以依靠級聯不是一個好的解決方案。
有時候CDN選擇器已經「超出」了特異性。下面是來自谷歌翻譯插件的例子:
#goog-gt-tt .translate-form .activity-form input.activity-submit.focus #goog-gt-tt .translate-form .activity-form input.activity-submit:active
添加特異性之選擇是可能的,但讓人更復雜和困難的代碼來理解。
同樣重要的是:第三方可以隨時改變選擇器的特異性,迫使你調整你的選擇。
由於這些原因,我通常會下載一份CDN樣式表並使用!important
進行調整。
(添加!important
也有助於檢查開發工具時,區分了CDN的您的樣式。)
教我一些新的,downvoter。正如我所提到的,我做了很多。如果你有一個更有效和有效的方法,我誠實地說,所有的耳朵。 –
[不是downvoter]我們不能在cdn之後加載樣式表來覆蓋樣式嗎?適用於正常的樣式表,所以我認爲它應該也適用於CDN。我不認爲從CDN加載很重要。 –
你的規則仍然需要相同或更高的特異性。 –
沒有必要對!important
有這樣的選擇。只要確保你的規則 bootstrap的規則後,你會沒事的。
<link rel="stylesheet" href="//bootstrap.cdn.url.wow.css">
<style>
a {
text-decoration: underline;
}
</style>
我覺得一樣。但完全困惑,因爲其他高代表用戶的答案在這裏:/ –
@Mr_Green如果特異性是相等的,那麼是,在Bootstraps後加載你的CSS規則將盛行 – j08691
是的。我完全不同意Michael_B的回答。 –
在你的情況下,你只需要使用'/ {你的風格在這裏* /}'。只需在cdn樣式表之後加載它即可。 –