css - 如何在正文中使用一种字体表示正常粗细而另一种字体表示粗体?

标签 css fonts font-face

我正在尝试将字体“open sans”应用到我的网站。我想对非粗体文本使用“open sans regular”,对粗体文本使用“open sans bold”字体,对斜体文本使用“open sans italic”,最后对“open sans bold italic”使用粗体和斜体的文本。我不想设置类,而只是让它们应用于整个网站。

这是我试过的代码,但它只是应用“open sans italic”,我认为“open sans bold italic”适用于所有内容,即使它不应该是斜体..

@font-face {
    font-family: 'opensans';
    src: url('opensans-regular-webfont.eot');
    src: url('opensans-regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('opensans-regular-webfont.woff') format('woff'),
         url('opensans-regular-webfont.ttf') format('truetype'),
         url('opensans-regular-webfont.svg#open_sansregular') format('svg');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'opensans';
    src: url('opensans-semibold-webfont.eot');
    src: url('opensans-semibold-webfont.eot?#iefix') format('embedded-opentype'),
         url('opensans-semibold-webfont.woff') format('woff'),
         url('opensans-semibold-webfont.ttf') format('truetype'),
         url('opensans-semibold-webfont.svg#open_sanssemibold') format('svg');
    font-weight: bold;
}
@font-face {
    font-family: 'opensans';
    src: url('opensans-italic-webfont.eot');
    src: url('opensans-italic-webfont.eot?#iefix') format('embedded-opentype'),
         url('opensans-italic-webfont.woff') format('woff'),
         url('opensans-italic-webfont.ttf') format('truetype'),
         url('opensans-italic-webfont.svg#open_sansitalic') format('svg');
    font-style: italic, oblique;
}
@font-face {
    font-family: 'opensans';
    src: url('opensans-semibolditalic-webfont.eot');
    src: url('opensans-semibolditalic-webfont.eot?#iefix') format('embedded-opentype'),
         url('opensans-semibolditalic-webfont.woff') format('woff'),
         url('opensans-semibolditalic-webfont.ttf') format('truetype'),
         url('opensans-semibolditalic-webfont.svg#open_sanssemibold_italic') format('svg');
    font-weight: bold;
    font-style: italic, oblique;
}
body {
font-family:'opensans';
font-size:78%;
}

这里是问题的一个例子,注意所有的字体都是斜体,而它不应该是:http://www.bbmthemes.com/themes/modular/

最佳答案

好的,我想出了我自己的问题。必须有一个非常具体的顺序才能使其正常工作。您需要按以下顺序定义它们:

正常 斜体 大胆的 粗斜体

所以 css 看起来像这样:

@font-face {
    font-family: 'opensans';
    src: url('opensans-regular-webfont.eot');
    src: url('opensans-regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('opensans-regular-webfont.woff') format('woff'),
         url('opensans-regular-webfont.ttf') format('truetype'),
         url('opensans-regular-webfont.svg#open_sansregular') format('svg');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'opensans';
    src: url('opensans-italic-webfont.eot');
    src: url('opensans-italic-webfont.eot?#iefix') format('embedded-opentype'),
         url('opensans-italic-webfont.woff') format('woff'),
         url('opensans-italic-webfont.ttf') format('truetype'),
         url('opensans-italic-webfont.svg#open_sansitalic') format('svg');
    font-weight: normal;
    font-style: italic;
}
@font-face {
    font-family: 'opensans';
    src: url('opensans-semibold-webfont.eot');
    src: url('opensans-semibold-webfont.eot?#iefix') format('embedded-opentype'),
         url('opensans-semibold-webfont.woff') format('woff'),
         url('opensans-semibold-webfont.ttf') format('truetype'),
         url('opensans-semibold-webfont.svg#open_sanssemibold') format('svg');
    font-weight: bold;
    font-style: normal;
}
@font-face {
    font-family: 'opensans';
    src: url('opensans-semibolditalic-webfont.eot');
    src: url('opensans-semibolditalic-webfont.eot?#iefix') format('embedded-opentype'),
         url('opensans-semibolditalic-webfont.woff') format('woff'),
         url('opensans-semibolditalic-webfont.ttf') format('truetype'),
         url('opensans-semibolditalic-webfont.svg#open_sanssemibold_italic') format('svg');
    font-weight: bold;
    font-style: italic;
}
body {
font-family:'opensans';
font-size:78%;
}

这篇文章帮我弄明白了 http://www.456bereastreet.com/archive/201012/font-face_tip_define_font-weight_and_font-style_to_keep_your_css_simple/

关于css - 如何在正文中使用一种字体表示正常粗细而另一种字体表示粗体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18425414/

相关文章:

javascript - 创建自定义倒计时

css - 如何以及在何处使用::ng-deep?

fonts - 预加载 @Font-Face 字体以阻止 Firefox 闪烁/延迟

.net - 如何在 VB.NET 中设置字体类对象的颜色?

css - 在 Firefox 中使用 Base64 编码模糊上传的@font-face

css - WordPress字体跨浏览器问题

css - Opera 不显示外部字体

html - 垂直对齐包含在另一个 <div> 中的 <div> 的内容

iPhone css 悬停,迫使我添加触摸事件

css - Symfony 2 和 Assetic - 从 google font api 导入字体