Firefox 无法识别字体

2024-04-30

我正在设计样式pre通过 CSS 的 HTML 元素如下所示:

pre {
    font-family : "Franklin Gothic Medium","Arial Narrow Bold","Arial",sans-serif;
}

它可以在 Chrome/Chromium、Opera、Safari 和 IE 中运行(这意味着该字体确实安装在计算机中),但在 Firefox 中不起作用。火狐浏览器只能识别Arial.

我尝试过其他自定义字体(例如Century Gothic)并且它可以工作,因此它能够识别自定义字体。

最重要的是,Firefox 无法识别Franklin Gothic Medium nor Arial Narrow Bold虽然

  • 它们安装在计算机中
  • 它能够识别其他自定义字体

这里可能发生了什么?


解决方案并不简单。字体外观因浏览器、操作系统以及客户端系统上可用的字体而异。在没有根据您的目标受众进行进一步测试的情况下,请不要仅从表面上接受这个答案。

在 Windows 上,从 Firefox 4 和 IE9 开始,字体是使用 DirectWrite 而不是 GDI 呈现的。自此更改以来,“Arial Narrow”和“Arial Black”等字体被视为 Arial 系列的一部分,而不是独立的系列。因此,在 Firefox 中,您可以通过带有一些修饰符的常规 Arial 声明来访问 Arial Narrow。 IE9 以类似的方式工作,但似乎内置了一些实用的作弊机制,使其以开发人员习惯的方式工作。

富兰克林哥特式中号

font-family: "Franklin Gothic Medium", "Franklin Gothic", sans-serif;

除 Firefox 之外的所有浏览器都可以理解“Franklin Gothic Medium”。 Firefox 没有,而是继续下一个选择“Franklin Gothic”,您可能甚至认为自己没有,但这就是“Franklin Gothic Medium”在 DirectWrite 世界中的存在。在没有任何其他修饰符的情况下(斜体、粗体、拉伸),当指定“Franklin Gothic”时,我的 Firefox 会抓取“Franklin Gothic Medium”。

Arial 窄粗体

font-family: "Arial Narrow Bold", "Arial Narrow", "Arial", sans-serif;
font-stretch: condensed;
font-weight: 700;

某些浏览器(例如 Chrome 和 IE7-8)可识别“Arial Narrow Bold”。但 IE9 和 Firefox 则不然。 IE9 确实可以识别“Arial Narrow”。 Firefox 降级为 Arial。font-stretch: condensed告诉 Firefox 使用 Arial 的“Arial Narrow”版本,并且font-weight: 700;告诉 IE9 和 Firefox 使用“Arial Narrow Bold”版本据我所知。 600、700、800 和 900 的字体粗细对我来说触发了粗体。

Franklin Gothic Medium 与 A​​rial Narrow Bold 后备

现在你已经有了第 22 条军规。

font-family: "Franklin Gothic Medium", "Franklin Gothic", "Arial Narrow Bold", "Arial Narrow", "Arial", sans-serif;

如果 Firefox 可以找到“Franklin Gothic”,那就没问题,但如果找不到,则会回退到“Arial”。如果你使用font-stretch: condensed; font-weight: 700;将其转换为“Arial Narrow Bold”,当不使用 Arial 后备时,您将影响 Franklin 的外观。每个浏览器都会应用font-weight如果富兰克林有空,就把规则交给富兰克林——这根本不是你想要的。如果你使用font-stretch: condensedFirefox 可以访问富兰克林,它会尽职尽责地压缩它。 (我在任何其他浏览器中都没有看到这一点。)在您的特定情况下,我会指望 Firefox 获得 Franklin 并接受常规 Arial 将用作后备。但添加“Franklin Gothic”(适用于 FF)和“Arial Narrow”(适用于 IE9)将会有很大帮助。

(在撰写本文时,Chrome 的版本为 21,Firefox 的版本为 14。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Firefox 无法识别字体 的相关文章

  • CSS 选择器:Active 不适用于 IE8 中的子元素单击

    我有以下 HTML 结构 div class wrapper div class control clickable img src logo png div div 以及以下 CSS control border 1px solid 00
  • 如何让 Win32 使用 Windows XP 样式字体

    我正在使用纯 C 和 WinAPI 编写 Win32 应用程序 不允许使用 MFC 或 C 为了让控件使用适当的样式进行绘制 我使用了清单 如相应的 MSDN 文章中所述 一切都很好 当我更改系统样式时 我的应用程序也会更改样式 但使用的字
  • 文本的彩虹色

    rainbowtext background image webkit gradient linear left top right top color stop 0 f22 color stop 0 15 f2f color stop 0
  • 如何使用 jQuery 单击特定链接时打开引导导航选项卡的特定选项卡?

    我是 jquery 和 bootstrap 的新手 所以请考虑我的错误 我已经创建了一个用于登录和注册的 bootstrap 模式 它包含两个导航选项卡 称为登录和注册 我有两个按钮可以弹出相同的模态窗口 但在模态窗口内显示不同的选项卡 每
  • 伪元素和 SELECT 标签

    是否select标签允许使用 after选择器是为了在之后创建一个伪元素吗 我在 Mac 上尝试过 Chrome Safari 和 Firefox 但似乎不起作用 这是我使用过的折衷方案 http jsfiddle net pht9d295
  • 严格/过渡 DOCTYPE 之间的浏览器渲染差异

    前段时间我遇到了一个 问题 但我从未深入了解过 希望有人能够照亮它 当我将 DOCTYPE 从严格更改为过渡时 是什么导致某些浏览器 Chrome Opera 和 Safari 以不同方式呈现页面 我知道造成这种情况的一般原因是触发了怪异模
  • 简单的html css块结构,不能对内容div使用-headerHeight底部边距来避免滚动条吗?

    以下是我的简单 html css 结构
  • 有没有办法编写屏幕阅读器会忽略的内容?

    我刚刚开发了一个需要视力正常和视障用户都可以访问的页面 内容的某些元素仅与视觉元素相关 因此根本不适用于使用屏幕阅读器的人 例如 链接在新窗口中打开视听演示文稿 但由于我无法控制的情况 窗口的大小被笨拙地调整 因此有一条消息说您应该调整窗口
  • Flexbox 的行之间可以有一条线吗?

    我有一个水平导航 它有点长 需要重新排列以适应狭窄的显示 我使用 flexbox 使其重排成多行 但行数较多时 导航项之间的划分就不那么明显了 我尝试在顶部给它们一个边框 它有点有效 但当然 边框仅在各个导航选项上可见 而不是在所有 Fle
  • 有没有办法改变输入类型=“日期”格式?

    默认情况下 输入type date 显示日期为YYYY MM DD 问题是 是否可以将其格式强制为 DD MM YYYY 无法更改格式 我们必须区分有线格式和浏览器的表示格式 接线格式 The HTML5日期输入规范 https www w
  • 自动调整Google网站嵌入代码的高度(html)

    我正在使用 Google 协作平台嵌入 HTML 代码 将代码粘贴到 从网络嵌入 窗口中 输出的长度是可变的 我希望有一种方法可以动态调整父级的高度iframeGoogle 协作平台用于托管我的 HTML 我知道我可以使用 Google 协
  • 滚动时输入自动完成位置错误(chrome)

    我在输入文本的默认自动完成功能方面遇到了一些麻烦 滚动时它不会相应移动 我希望自动完成文本保留在输入的正下方 有办法做到这一点吗 我在 Chrome 浏览器版本 57 0 2987 133 中发生这种情况 fiddle https jsfi
  • 如何删除flexbox中所有换行行的左右边距(没有nth-child或js)

    我正在寻找一种好方法来删除每行中每个第一个和最后一个项目的左右边距 而不使用 nth child 或 JavaScript 如果这是不可能的 那么我想下一个最好的方法是在主弹性盒元素上设置负左 右边距 但我不太确定使用弹性盒来做到这一点的最
  • iOS 解决方法:在没有 CSS 属性的情况下平滑滚动 滚动行为:平滑?

    编辑 我找到了一个 jQuery 解决方案 https codepen io chriscoyier pen dpBMVP https codepen io chriscoyier pen dpBMVP这个确实可以在 iOS 上运行 我想
  • IE 中的 HR 标签 - 删除边框

    在除 IE7 及更低版本之外的其他浏览器中 hr 在 hr 标签周围显示边框 但我不希望它出现 我已经尝试过这个解决方案 但它周围似乎仍然有边框 它看起来像这样 我该如何摆脱它 See http webdesign about com od
  • 如何在CSS中制作一个带有边框的可调整大小的心形

    我想要制作一个心形 用户可以将其大小调整为任意宽度和高度 并且边框为 1 像素 我尝试了用纯 CSS 制作的心形 https stackoverflow com a 17386187 1404447 https stackoverflow
  • 当百分比填充定义元素高度时忽略 max-height

    The max height当内部填充大于最大高度值时 属性值似乎被忽略 例如 在元素上设置此类会导致最大高度被忽略 max height ignored height 0 or auto makes no difference max h
  • @font-face 和 font-variant 是个坏主意吗?

    如果我使用 font face字体和font variant small caps对于相同的选择器 字体将回退到 Safari 中的下一个系统默认字体 我该如何解决这个问题 我一开始在创建一个示例来复制您的问题时遇到了一些麻烦 这让我意识到
  • HTML 元素的默认背景颜色是什么?白色还是透明?

    我只是被一个简单的问题困住了 想弄清楚 HTML 元素的默认背景颜色是什么 是白色的还是透明的 默认背景颜色是透明的 看这里 https developer mozilla org en docs Web CSS background co
  • 在 HTML5 iOS 7 / iOS 8 中显示十进制键盘

    经过几个小时的搜索后 我只是有一个简单的问题 是否有可能在网络浏览器输入字段中显示小数键盘 input type number 只显示数字 但我需要在左下角使用逗号或点 我尝试过任何事情 pattern step等等 但没有显示十进制键盘

随机推荐