【发布时间】:2019-08-18 22:21:42
【问题描述】:
当我使用 Chrome 开发人员工具检查网站上的元素时,我看到以下内容是我元素的“计算”样式:
font-family: "HelveticaNeue-Medium", "Helvetica Neue Medium", "Helvetica Neue", Helvetica, "Roboto", Arial, "Lucida Grande", sans-serif
但如果我进一步向下滚动(到“计算”选项卡的底部),我会看到:
Rendered Fonts
Liberation Sans—Local file(11 glyphs)
由于我的 (Linux) 操作系统 必须 有 Arial 和 sans-serif,我对 Chrome 为何会选择“Liberation Sans”感到困惑:它甚至不在我的 @987654325 @列表。
我会责怪我自己糟糕的 CSS,但理论上“计算”选项卡显示了我的规则的最终/处理版本,所以无论我的原始 CSS 多么糟糕,Chrome 清楚地看到我的 font-family 列表已定义(并被应用)到我的元素......它只是忽略它。
谁能解释这个谜团?
编辑: 我安装了一个字体检查程序,结果发现 Linux (Mint) 实际上并没有带有 Arial 或 sans-serif 字体……但即便如此,我认为浏览器(至少)提供了基本的sans-serif 字体,不管操作系统是什么?不对吗?
【问题讨论】:
-
您确定您安装了 Arial 字体吗?你确定 Libertion Sans 没有在 Chrome 中设置为默认的无衬线字体吗? Liberation Sans 附带了 RedHat 和其他 Linux 风格的标准……不难想象你的 Linux 浏览器会选择标准的 Linux sans-serif 字体。
-
我认为你是对的(见我的编辑)。但我认为浏览器提供了某些字体,所以你总是可以依赖(比如)
sans-serif? -
我认为
sans-serif实际上不是字体,而是要求浏览器提供 any 无衬线字体(即没有衬线的字体)。 -
这很有意义(并解释了我所看到的)。如果你们中的任何一个想以答案的形式给出答案(基本上“即使你的字体系列说
sans-serif,浏览器也会告诉你它用来提供sans-serif的字体的名称;它不会其实说sans-serif)我会很乐意接受的。 -
另外,作为遇到此问题的任何 Linux 用户的附注,您可以安装一个包 (
ttf-mscorefonts-installer) 以获得 Windows 用户认为理所当然的所有字体(例如 @987654336 @)。
标签: css font-family