
font-weight 并非任意数值都有效:它只对当前字体实际支持的字重变体起作用;若字体本身不提供细体(如 100、200)或超粗体(如 800、900),设置无效——这是初学者最常遇到的“不生效”原因。
`font-weight` 并非任意数值都有效:它只对当前字体实际支持的字重变体起作用;若字体本身不提供细体(如 100、200)或超粗体(如 800、900),设置无效——这是初学者最常遇到的“不生效”原因。
在你的代码中:
.pimg {
font-weight: 10; /* ❌ 无效:font-weight 不接受个位数如 10 */
}
这段样式无法生效,原因有二:
? 第一,数值范围错误
CSS 中 font-weight 的合法数值为 100–900(以 100 为步长),或关键字(如 normal、bold、lighter、bolder)。你写的 10 是非法值,浏览器会直接忽略它(等同于 normal)。✅ 正确写法应为 100(最细)、200、300…900(最粗)。
? 第二,字体本身不支持轻量字重
即使你改用 font-weight: 100,若当前默认字体(如系统 San Francisco、Segoe UI 或 Times New Roman)未内置 100 字重变体,浏览器仍会回退到最接近的可用字重(通常是 400,即 normal)。这就是为什么 bold(700)看起来有效——多数字体都包含粗体变体,但细体(100–300)却常被省略。
✅ 解决方案如下:
文章转信息图。将文章/笔记转化为手机可读的 HTML 信息图,自动匹配视觉风格。触发场景:文章转图、笔记转图、信息图、转小红书图、做张图、可视化这篇文章、文生图。
-
指定支持细体的字体族(推荐)
使用已知提供多字重的 Web 字体,例如:.pimg { font-family: 'Inter', 'Segoe UI', 'Helvetica Neue', sans-serif; font-weight: 300; /* ✅ 轻细体,Inter 默认含 100–900 全字重 */ }? 提示:可在 Google Fonts 搜索支持 Thin/ExtraLight 字重的字体(如 Inter、Lora、Source Sans Pro),并勾选对应字重后嵌入 CSS。
-
使用字体加载声明确保字重可用
若使用 Google Fonts,务必显式引入所需字重:<link href="https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap" rel="stylesheet">
避免使用 lighter / bolder(相对值)
它们依赖父元素字重计算,行为不可控,建议始终使用绝对数值(如 300)。
⚠️ 注意事项:
- font-weight: 100 ≠ “比 normal 更细一点”,而是“该字体家族中定义的最细字重”;
- 浏览器不会“合成”细体;若字体无 200 变体,设 200 会自动降级为 100 或 400;
- 可用 @font-face 自定义字体并精确声明 font-weight 范围,但需确保字体文件本身包含对应字重。
总结:font-weight 是否生效,取决于「合法数值」+「字体真实支持」双重条件。调试时,建议打开浏览器开发者工具 → Elements 面板 → 查看 Computed 标签页中 font-weight 实际解析值,确认是否被回退——这才是判断问题根源的关键一步。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










