无法覆盖字体大小:100%&另一个CSS文件中的font-inherit属性

时间:2014-11-28 13:08:25

标签: css css3 inheritance fonts override

在我的项目中,我们有一个全球CSS文件' global-css'用于网站的所有网页。 这个文件内容,

font-size: 100%;
font: inherit;    
properties for body,div,h1,h2 etc. 

复制上述代码的链接http://www.cssreset.com/ - Eric Mayur's。

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
........, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    ***font-size: 100%;
    font: inherit;***
    vertical-align: baseline;
}

我没有权限编辑此(global-css)CSS文件。

但这2行是在我的网页上创建UI问题。如果我从' global-css'中移除这2行。然后我的网页完全正常(没有任何UI问题)。我想以某种方式想要将这2行重写为我自己的CSS文件(仅在我的网页中导入)。我创建了1个CSS文件(override-css),我可以覆盖来自' global-css'的任何类。

请建议在我的' override-css'中覆盖上述属性的好方法 谢谢你的帮助:)

澄清一下:我想将这些属性设置为DEFAULT / NULL,以便所有元素都可以从各自的类中获取字体。

我试图覆盖global-css中的上述代码但不幸的是我们没有font属性的默认值。

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
........, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    ***font-size: ________ !important;
    font: ________ !important;***
    vertical-align: baseline;
}

我想要一些属性值来重置ss-override中的这2个属性。

还有一个' main.css' CSS文件,包含元素的所有类。但这两行来自&global; css'不允许应用这种风格。

用于导入CSS的序列是:main - > global-css - >覆盖-CSS。

4 个答案:

答案 0 :(得分:1)

您是否尝试过使用!important属性?

否则,通常最后一个css样式优先。因此,如果您使用您的属性加载这两个类,那么应该覆盖global.css样式。

答案 1 :(得分:1)

它无法正常工作,因为您输入的文件顺序错误 - 您在上面说过:"用于导入CSS的序列是:main - > global-css - >倍率-CSS"

如果您将该订单更改为:global-css - >主要的,你应该发现一切正常,因为main中的内容现在将覆盖global-css中的早期设置。而且你根本不需要覆盖文件。这将起作用,因为全局中的CSS在规则中具有尽可能低的特异性(仅一个元素,例如h2或div等),因此以下任何内容都将自动覆盖这些规则。使用!important不是正确的方法。

如果由于某种原因您无法访问代码来更改导入顺序,则在导入全局文件后,您仍然可以在HTML中链接主CSS文件(或链接其副本)或链接,因此确保它的设置将覆盖之前的内容。

答案 2 :(得分:0)

使用!importent应该可以解决问题。但同样这取决于CSS命令和浏览器。 案例:您已经使用了!importent,并且在您的声明下面有使用importent的字体大小属性,那么由于它的CSS渲染逻辑,您的浏览器将无法在Chrome等浏览器中使用。

最好的方法是删除适用于元素的所有其他字体CSS,并在类中添加相同的

答案 3 :(得分:0)

您可以尝试使用

font-style: italic; 

这样可行。