html中应使用标签实现语义化加粗,而非;css中优先用font-weight: bold或700,避免bolder/lighter;外部css类名控制优于内联样式;注意旧版ie和ios safari兼容性及字体字重支持。

HTML 里怎么让文字加粗
用 <strong></strong> 标签,语义正确、默认加粗、所有浏览器都认。别用 <b></b> 图省事,它只是视觉加粗,没语义,对屏幕阅读器不友好,SEO 也不如 <strong></strong>。
CSS 的 font-weight 怎么设才靠谱
想精细控制粗细,就用 CSS 的 font-weight。但注意:不是所有字体都支持全部数值,设了 font-weight: 900 却没变化,大概率是当前字体没提供对应字重。
-
font-weight: bold和font-weight: 700等价,最常用也最稳 - 避免用
font-weight: bolder或lighter,计算逻辑模糊,不同浏览器表现可能不一致 - 如果用了自定义字体(比如
@font-face),必须显式声明font-weight范围,否则即使写了900也可能回退到默认字重
内联样式 vs 外部 CSS:哪个更适合加粗
除非是临时调试或极个别动态场景,否则别用 style="font-weight: bold" 这种内联写法。维护成本高,无法复用,还容易被 CSS 优先级规则覆盖。
- 通用加粗需求(比如所有标题、强调文本)——写在外部 CSS 文件里,用类名如
.text-bold - 语义化强调(比如关键警告、必填项)——优先用
<strong></strong>,再配合 CSS 统一控制外观 - JS 动态加粗?改
element.classList.add('text-bold')比直接操作style.fontWeight更可控、更易测
移动端和旧版 IE 的兼容性坑
现代浏览器基本没悬念,但如果你还要支持 IE10 或 iOS Safari 8 以下版本,得留个心眼:
立即学习“前端免费学习笔记(深入)”;
- IE9–10 不支持
font-weight的无单位数值写法(比如font-weight: 600),得写成font-weight: 600没问题,但某些老版本对非标准值(如550)会忽略,只认normal/bold或整百数 - iOS Safari 7–8 对
<strong></strong>默认加粗力度偏弱,有时看起来像没加粗,加一句strong { font-weight: 700; }更保险 - 字体加载期间可能出现“闪动”:先显示系统默认字体(加粗明显),再替换成 Web 字体(可能不加粗),这时候需要配合
font-display: swap或预设 fallback 字体族
真正麻烦的不是“怎么加粗”,而是“加粗后字体是否真有那个字重”,以及“加粗是否被父级样式或字体本身吃掉了”。调的时候盯着 computed styles 看 font-weight 实际值,比猜强得多。










