能,但需字体实际提供对应字重;font-weight 仅声明期望字重,浏览器按可用字形降级或模拟加粗,无900字重时设900无效。
能,但不是所有取值都有效——font-weight 本身不“画粗”,而是向浏览器传达「希望使用字体家族中哪个字重(weight)的字形」。最终是否加粗,取决于当前 font-family 是否实际提供了对应字重的字体文件。
不同数值或关键字触发的行为不同,尤其在系统字体和 Web 字体下表现不一:
normal(等价于 400):默认字重,多数字体都有bold(等价于 700):最常用;若字体无 700 字重,浏览器可能模拟加粗(faking),出现模糊或锯齿600、800 等中间值:仅当字体真实包含该字重时才生效;否则回退到最近可用字重(如 600 → 500 或 700)bolder / lighter:相对计算,依赖父元素字重;易造成不可预测的层级跳跃,不推荐用于精确控制这是最常被忽略的关
键点:字体本身没提供 900 字重,浏览器不会“强行加粗”,而是静默降级。验证方式很简单:
body {
font-family: "Inter", -apple-system, sans-serif;
font-weight: 900;
}
上面这段代码只有在 "Inter" 字体已通过 @font-face 加载了 font-weight: 900 的woff2文件时才真正生效。否则,浏览器会用它能找到的最接近的字重(比如 800 或 700),甚至 fallback 到系统字体的 bold。
font-weight,看实际解析值@font-face { font-weight: 900; src: url(...); }
system-ui)通常只提供 400 和 600/700,极少支持 800+
它不表示“比 normal 更粗”,而表示“比父元素的字重大一级”。如果父元素是 400,bolder 可能变成 700;但如果父元素已经是 700,它可能变成 900 —— 前提是字体真有 900。更糟的是,部分浏览器对 bolder 的映射规则不一致。
文本 行为难预测font-weight: 700 比 bolder 更可控--fw-bold: 700;,然后用 font-weight: var(--fw-bold)
字重不是开关,是字体设计的一部分;想让文字变粗,先确认字体有没有那个“档位”。