6

更新了示例的正确链接

我正在使用与 CSS 捆绑在一起的 Hugo 主题,并使用 Highlight.JS 进行语法突出显示。我创建的网页在代码块中显示基于普通“信使”的固定宽度字体,请参见此处以我的网站页面为例

我想使用另一种字体,比如 sans-mono 或更简洁的字体,就像它在 Highlight.JS 网页上显示的那样

我对 Javascript 和 CSS 不是很熟悉,只是尝试使用它们。有没有更简单的方法告诉 Highlight.JS 使用特定字体?假设我有可用的字体文件。

谢谢泽凯

4

1 回答 1

8

将此添加到您的 CSS 中:

pre > code {
    font-family: "Sans Mono", "Consolas", "Courier", monospace;
}

这将使用该列表中用户系统上可用的第一个字体。有时字体的间距与其真实名称不同,例如,如果"Sans Mono"不起作用,请尝试"SansMono". 确保放在monospace最后,以便在用户没有任何列出的字体时至少选择一些合适的字体。

如果这不起作用,可能是由于选择器特异性问题,highlight.js 提供的默认样式覆盖了您自己的样式。有助于避免这种情况的方法是将<link>加载 CSS 文件的文件放在加载 highlight.js CSS 文件的文件之后。如果这不起作用,您将不得不使pre > code选择器更具体,例如将其更改为#main pre > code是否所有页面内容都包含在具有 ID 的元素中main

如果不确定如何添加 CSS,最简单的方法是将其放在 HTML 模板中,并用<style></style>标签包围。尽管最好将其放在 CSS 文件中并使用<link rel="stylesheet" href="myStyles.css">.

于 2016-05-25T06:05:26.007 回答