覆盖字体样式 - 页面的每个元素

时间:2012-04-30 04:31:30

标签: html css

我正在尝试在网络浏览器上为网页注入字体样式。

更改页面的每个元素。

* {
 font-size: 100%;
 font-family: Arial!important;
}
this question中的

几乎完成了这个技巧,但这种风格被覆盖了。我也想阻止那些覆盖。使用javascript解决方案也没关系。

2 个答案:

答案 0 :(得分:5)

如果被覆盖,请确保它是样式表中的最后一件事(或您包含的最后一个样式表)。 CSS中的“Cascading”意味着最后一个定义获胜。

答案 1 :(得分:2)

!important添加到font-size声明中:

* {
 font-size: 100% !important;
 font-family: Arial !important;
}

如果您在用户样式表中使用此功能(如“尝试在Web浏览器上为网页注入字体样式”一词),则无法覆盖您的规则。

另一方面,如果这只是作者样式表的一部分,那么它可以被用户样式表覆盖,并且您无法对其进行任何操作。它不会被浏览器默认样式表覆盖,因为它们不使用!important。对于其他作者样式表,级联规则意味着除了使用!important的规则外,您不能被覆盖。

在两者都有!important的作者样式表规则之间的争斗中,更具体的胜利,具体由CSS规范定义。在同样具体的设置之间,最新的设置获胜。

选择器*具有最低可能的特异性0,0,0,0。对于任何选择器,您始终可以构造另一个具有更高特异性的选择器。但是,元素的style属性中的CSS规则被认为具有最高的特异性。

因此,如果您知道将使用哪些其他CSS规则,您可以通过在选择器列表中添加具有更高特异性的选择器来击败它们。