如何组合 @font-face 和 @media 声明?

发布于 2024-08-10 21:59:50 字数 261 浏览 3 评论 0原文

我想用很少的选择器构建一个通用的排版样式表。因此,我更愿意对各个版本使用 @media 部分,而不是创建不同的文件,每个文件只有几行内容。

我还想添加一些 @font-face 声明,但鉴于带宽有限,我不希望强迫移动用户下载字体。

我可以将 @font-face 声明放在 @media 块中还是它们都必须是顶级的?如果是后者,我如何告诉移动浏览器他们不需要费心下载字体?

I'd like to build a common typography stylesheet with a very small number of selectors. As such, I'd far prefer to use @media sections for the various versions rather than create different files, each with only a few lines of content.

I'd also like to add some @font-face declarations, but I'd prefer not to force mobile users to download the fonts given their limited bandwidth.

Can I put the @font-face declaration within the @media block or do they have to both be top-level? If the latter, how can I tell the mobile browsers they don't need to bother downloading the font?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

盗琴音 2024-08-17 21:59:50

CSS2 规范 建议了类似这样的内容。

  1. 将您的 @font-face 声明放入单独的 CSS 文件中,例如 fancyfonts.css

  2. 在主 CSS 文件中加载 fancyfonts.css,但带有媒体目标声明:

    @import url("fancyfonts.css") 屏幕;
    
  3. font-family 中指定您的精美字体代码> 属性。

    <前><代码>正文{
    font-family: '我的花式字体', serif;
    }

不加载 fancyfonts.css 的媒体将回退到您指定的其他字体 - 在本例中为 serif

The CSS2 spec suggests something like this.

  1. Put your @font-face declarations in a separate CSS file, such as fancyfonts.css.

  2. Load fancyfonts.css in your main CSS file, but with a media-target declaration:

    @import url("fancyfonts.css") screen;
    
  3. Specify your fancy font in the font-family attribute.

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

Media which don't load the fancyfonts.css will fall back to the other fonts you specify -- in this example, serif.

夜未央樱花落 2024-08-17 21:59:50

我可以将@font-face声明放在@media块中还是它们都必须是顶级的?

CSS3 Fonts 模块的当前工作草案似乎未指定这一点。但是, CSS 验证器 拒绝 font-face-inside-media,因此最好避免使用它。

Can I put the @font-face declaration within the @media block or do they have to both be top-level?

This seems unspecified by the current Working Draft of the CSS3 Fonts module. However, the CSS Validator rejects font-face-inside-media, so it's probably best avoided.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文