从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样式表之后加载它即可。 –