代码之家  ›  专栏  ›  技术社区  ›  James A. Rosen

如何组合@FONT face和@MEDIA声明?

  •  3
  • James A. Rosen  · 技术社区  · 15 年前

    我想用非常少的选择器构建一个通用的排版样式表。因此,我更喜欢使用 @media 不同版本的节,而不是创建不同的文件,每个文件只有几行内容。

    我还想加一些 @font-face 声明,但我不想强迫移动用户下载字体,因为他们的带宽有限。

    我可以把 @字体 声明 @媒体 阻止还是必须都是顶级的?如果是后者,我怎么能告诉移动浏览器他们不需要费心下载字体?

    2 回复  |  直到 13 年前
        1
  •  3
  •   Jason Plank IEnumerator    13 年前

    这个 CSS2 spec 像这样的建议。

    1. 把你的 @font-face 在单独的CSS文件中声明,例如 fancyfonts.css .

    2. 负载 FANKYFUNTS.CSS 在您的主CSS文件中,但带有媒体目标声明:

      @import url("fancyfonts.css") screen;
      
    3. font-family 属性。

      body {
        font-family: 'My Fancy Font', serif;
      }
      

    不加载的媒体 繁体字.css 将返回到您指定的其他字体——在本例中, serif .

        2
  •  1
  •   bobince    15 年前

    我可以将@FONT face声明放在@MEDIA块中吗?还是两者都必须是顶级的?

    这似乎是未指明的当前工作草案的 CSS3 Fonts 模块。然而, CSS Validator 拒绝媒体内的字体,所以最好避免。