1

我正在为我的 webapp 使用 Merriweather 字体,如下所示导入它。

<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Merriweather:300i">

这在桌面浏览器上运行良好,但在移动设备上,它回退到默认字体。如果我将行替换为 import300而不是300i,一切似乎都正常。

有谁知道我怎样才能300i在桌面上使用字体并回退到300移动设备上?

4

2 回答 2

2

无需查看您可能已经实现的任何 CSS,在 Web 和移动设备之间改变前沿的最简单方法是使用媒体查询。

由于您想同时使用 300 和 300i,请导入

  <link href="https://fonts.googleapis.com/css?family=Merriweather:300,300i"    rel="stylesheet">

将您的正常默认文本设置为

  font-family: 'Merriweather';
  font-style: italic;
  font-weight: 300;

对于移动使用媒体查询:

@media all and (max-width: 991px) or (max-width: 768px) or (max-width: 480px) {
* these are the three popular mobile queries *
}

在媒体查询中,您可以设置文本:

  font-family: 'Merriweather';
  font-style: normal;
  font-weight: 300;
于 2018-09-10T20:01:25.553 回答
0

您需要将这两种字体都导入到您的主样式表中。

@font-face {
    font-family: Merriweather:300i;
    src: url(https://fonts.googleapis.com/css?family=Merriweather:300i);
}

@font-face {
    font-family: Merriweather:300;
    src: url(https://fonts.googleapis.com/css?family=Merriweather:300i);
}

(您可能需要将.woff文件的实际位置放在src:属性中。)

然后对移动和桌面使用特定的媒体查询

/* 
  ##Device = Laptops, Desktops
  ##Screen = B/w 1025px to 1280px
*/

@media (min-width: 1025px) and (max-width: 1280px) {

  * {
      font-family: Merriweather:300i
   }

}

/* 
  ##Device = Tablets, Ipads (portrait)
  ##Screen = B/w 768px to 1024px
*/

@media (min-width: 768px) and (max-width: 1024px) {     

  * {
      font-family: Merriweather:300
   }

}
于 2018-09-10T19:58:24.957 回答