当更改主题的字体时,为什么字体大小属性不起作用?

时间:2019-08-26 作者:Ooker

自我的主题的字体doesn\'t support my language, 我将此代码添加到样式中。css更改字体。它确实有效:

@font-face {
    font-family: \'new-baskerville\';
    font-style: normal;
    src: url(\'/wp-content/uploads/useanyfont/190811081519New-Baskerville.eot\');
    src: local(\'new-baskerville\'), url(\'/wp-content/uploads/useanyfont/190811081519New-Baskerville.eot\') format(\'embedded-opentype\'), url(\'/wp-content/uploads/useanyfont/190811081519New-Baskerville.woff\') format(\'woff\');
}

.new-baskerville{font-family: \'new-baskerville\' !important;}

        body, h1, h2, h3, h4, h5, h6, p, blockquote, li, a, #menu-main-menu li a, #menu-main-menu li span, font-size: 20 em;{
    font-family: \'new-baskerville\' !important;
}
但是,“字体大小”属性不起作用。即使我将其设置为20 em,它的大小仍然相同。为什么会发生这种情况?


(该代码由Use Any Font 插件)

2 个回复
SO网友:Mike Baxter

我不想听起来太挑剔,但你可能想回顾一下how to properly introduce a new font, 并应用字体样式内容。您提交的声明似乎有几个问题:

使用“.new baskerville”将导致“new baskerville”类的所有内容(以及ONLY 与新巴斯克维尔字体系列一起出现

body, h1, h2, h3, h4, h5, h6, p, blockquote, li, a, #menu-main-menu li a, #menu-main-menu li span, font-size: 20 em;{
    font-family: \'new-baskerville\' !important;
}
我相信您试图做的事情更像下面的代码示例,但这仍然有问题,因为它对所有内容都应用相同的字体大小:

body, h1, h2, h3, h4, h5, h6, p, blockquote, li, a, #menu-main-menu li a, #menu-main-menu li span{
    font-size: 20 em;
    font-family: "new-baskerville",helvetica, san-serif; /* providing fallbacks for browsers that may not be able to interpret new-baskerville */
 }
相反,各个项目应该有自己的相对字体大小。此外,“em”大小是相对的。因此,您可以从对正文应用默认字体大小开始。这将导致所有其他字体大小声明(“em”、“rem”等)调整“相对于”正文的默认值。我建议进行类似的更改:

@font-face {
    font-family: \'new-baskerville\';
    font-style: normal;
    src: url(\'/wp-content/uploads/useanyfont/190811081519New-Baskerville.eot\');
    src: url(\'/wp-content/uploads/useanyfont/190811081519New-Baskerville.eot\') format(\'embedded-opentype\'), 
        url(\'/wp-content/uploads/useanyfont/190811081519New-Baskerville.woff\') format(\'woff\');
    }

/* Provide a base font size for the entire page */
body { 
    font-family: \'new-baskerville\',garamond,san-serif;
    font-size: 14px; 
}

h1 { font-size: 2em; font-weight: bold; }
h2 { font-size: 1.75em; font-weight: bold; }
h3 { font-size: 1.5em; font-weight: bold; }
h4 { font-size: 1.45em; font-weight: bold; font-style: italic;}
... etc...
EDIT: 您可能想要跟进的内容。。。并非所有的web服务器都配置了针对eot、woff、woff2等的mime类型。您可能需要setup mime types 对于您的服务器。顺便提一下作者没有提到woff2。mime类型是font/woff2。

希望这有帮助!

SO网友:Justin Waulters

代码中至少有一个语法错误。首先更改此部件:

body, h1, h2, h3, h4, h5, h6, p, blockquote, li, a, #menu-main-menu li a, #menu-main-menu li span, font-size: 20 em;{
    font-family: \'new-baskerville\' !important;
}
为此:

body, h1, h2, h3, h4, h5, h6, p, blockquote, li, a, #menu-main-menu li a, #menu-main-menu li span {
    font-family: \'new-baskerville\' !important;
    font-size: 20 em;
}
样式必须在括号内。这个font-size 样式位于要目标元素列表的括号之外。语法错误(可能来自;) 导致支架内的一切故障。