HTML字体代码设置_html字体代码怎么设置【修改】

1次阅读

html5中font标签已被废弃,应使用CSS的font-family属性设置字体,需按平台分层声明并添加sans-serif兜底,自定义字体应配合font-display:swap和preload优化加载。

HTML字体代码设置_html字体代码怎么设置【修改】

HTML 中设置字体用 font 标签已经失效了

现在直接写 <font face="SimSun"> 不会生效,浏览器根本不管——这不是你代码写错了,是这个标签早在 html5 里就被正式废弃了。W3C 不再支持,所有现代浏览器(chromefirefoxedgesafari)都只当它不存在。

如果你在旧项目里看到它还能“显示”,大概率是浏览器在兼容模式下偷偷兜底,但行为不可靠,尤其在移动端或严格渲染模式下会直接失效。

真正该用的方案:CSS 的 font-family

替换方式很简单:把 <font face="microsoft YaHei, sans-serif"> 这类写法,改成内联样式或外部 CSS 中的 font-family 声明。

  • 内联写法:<p style="font-family: 'Microsoft YaHei', sans-serif;">正文</p>
  • 推荐用 class<p class="text-main">正文</p>,然后在 <style> 或 CSS 文件里写 .text-main { font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; }
  • 中文字体名带空格或特殊字符,必须加英文引号,比如 "Times New Roman",不加引号在某些浏览器里会截断成 Times
  • sans-serif 是必需的兜底项,不能省;否则遇到系统没装指定字体时,可能回退到等宽字体甚至空白

常见错误:中文网页只写英文字体名

比如 font-family: Arial, Helvetica, sans-serif; —— 这在中文环境里大概率显示成默认宋体或系统默认无衬线体,但你完全控制不了,尤其 macoswindows 渲染差异极大。

立即学习前端免费学习笔记(深入)”;

正确做法是按平台习惯分层声明:

  • macOS 优先: "PingFang SC", "Hiragino Sans GB"
  • Windows 优先: "Microsoft YaHei", "SimSun"
  • linux 常见: "Noto Sans CJK SC", "WenQuanYi Micro Hei"
  • 最后统一兜底:sans-serif

顺序很重要:浏览器从左到右匹配第一个可用字体,写反了会导致 Windows 用户看到 macOS 字体 fallback 行为。

字体加载慢?别让 @font-face 拖垮首屏

自定义字体(比如用 @font-face 引入 .woff2 文件)确实能统一视觉,但默认会阻塞文本渲染,用户可能白屏几百毫秒才看到字。

  • font-display: swap; 是最简单有效的解法,告诉浏览器先用系统字体撑开布局,等自定义字体加载完再换
  • 不要在 <head> 里用 <link rel="stylesheet"> 同步加载字体 CSS,改用 rel="preload" 提前抓取:<link rel="preload" as="font" href="font.woff2" type="font/woff2" crossorigin>
  • 注意 crossorigin 属性必须加上,否则 font-display: swap 在多数浏览器里不生效

字体不是越全越好,一个页面稳定用 2–3 种字重(regular / bold)+ 1–2 种字体族就足够,多套 @font-face 规则会显著拖慢 CSS 解析和字体下载。

text=ZqhQzanResources