media =“all”CSS是否会覆盖所有内容?

时间:2014-05-20 00:56:26

标签: css

我编写了Chrome扩展程序,其中一项功能是您可以在您所在的页面中显示一个帮助面板,其中包含其使用指南。这个帮助面板通过JS插入到页面中,它的CSS都是通过$('#selector_for_help_panel').css({etc})创建的。

这很好用,除了在Reddit上有一些media="all" CSS规则覆盖了我的JS的内联CSS。我以为只有!important覆盖了内联CSS。

!important会在这里反击他们的CSS吗? media="all"在CSS优先级的层次结构中的位置是什么?

1 个答案:

答案 0 :(得分:1)

媒体类型和媒体查询对级联没有影响。您可以使用样式表排序的所有原则(例如,用户代理与外部与内部样式表及其加载顺序),级联和继承,包括使用!important

!important通常被宣传为打击内联样式的工具,但其根本原因在于它提升了它在级联中应用的任何声明,这允许在内联样式之外进行任何声明击败内联样式(事实上,如果内联样式本身具有!important),它实际上仍然可以被内联样式打败。这意味着样式表优先级的所有规则以及选择器特性仍然适用,尤其是当您在级联中的不同级别中有!important声明时。

另见:Relationship between !important and CSS specificity