Bootstrap的card-title默认作用在<h5>标签上,样式由.card-title类控制,而非HTML标签语义;其字体大小、粗细、行高等均通过该CSS类统一定义。
Card标题默认用什么标签和类
bootstrap 的 card-title 默认作用在 <h5> 标签上,字体大小、粗细、行高都由 .card-title 类控制,不是靠 html 标签语义决定样式。如果你只改了 <h1> 到 <h6> 标签但没覆盖 css,视觉上基本没变化。
直接覆盖 .card-title 的 CSS 规则
最稳妥的方式是写一条更高优先级的 CSS 规则,针对性修改字体相关属性:
.card-title {
font-family: "Helvetica Neue", sans-serif;
font-size: 1.25rem;
font-weight: 700;
line-height: 1.2;
}
注意几点:
- 不要只改
font-size,line-height不匹配会导致文字贴顶或留空过多 - 如果项目用了 CSS-in-JS 或 scoped style(如 Vue),需确保该样式能穿透到
.card-title - Bootstrap 5.3+ 默认禁用
!important,不建议强行加,优先用更具体的 CSS 选择器,比如.my-card .card-title
用 Bootstrap 内置文本工具类快速调整
若只是微调字号或粗细,可跳过自定义 CSS,直接叠加工具类:
<h5 class="card-title fw-bold fs-4">我的标题</h5>
常用组合:
-
fs-3~fs-6控制相对字号(对应1.25rem~1rem) -
fw-light/fw-normal/fw-bold替代font-weight -
text-primary等可同时改颜色,但不会影响字体族或行高
缺点:无法换字体族(font-family),也不能精细调 letter-spacing 或 text-transform。
全局统一改所有 Card 标题字体
如果整个项目都要统一,别在每个卡片里加类,直接在根 CSS 文件里重置:
:root {
--bs-card-title-font-family: "Inter", -apple-system, sans-serif;
}
.card-title {
font-family: var(--bs-card-title-font-family);
}
这样后续升级 Bootstrap 也不容易被覆盖。但要注意:Bootstrap 官方变量里并没有 --bs-card-title-font-family,这是自定义的,必须自己声明并引用——漏掉 :root 声明或拼错变量名,就完全无效。
真正容易被忽略的是字体加载时机:如果用了 Google Fonts 或自托管字体,要确保 @font-face 在 .card-title 样式之前已声明,否则首屏可能回退成系统字体。


















