bootstrap未提供响应式letter-spacing工具类,因其utility体系未封装该css属性;应使用em单位的媒体查询、sass自定义或协同调整line-height来实现。

Bootstrap 本身不提供响应式 letter-spacing 工具类,直接写 text-spacing-sm 或 ls-lg 会完全无效——这不是你漏配了什么,是它压根没实现。
为什么 Bootstrap 没有 letter-spacing 响应式类
Bootstrap 的 utility 类体系里,spacing 类(如 mt-3)只管外边距和内边距;text-* 类只管对齐、大小写、颜色;lh-* 类只管行高。而 letter-spacing 是纯 CSS 属性,官方从未封装过任何以它为基础的响应式工具类。
常见错误现象:
- 在文档里搜
letter-spacing或ls-,结果为空 - 复制 Tailwind 的
tracking-wider写进 Bootstrap 项目,样式不生效 - 给
<div class="container"> 加 <code>style="letter-spacing: 0.05em",结果所有子文本(包括按钮、输入框)都变形用媒体查询手动写响应式
letter-spacing最直接、零依赖、兼容性最好的方式:在
<style></style>标签或自定义 CSS 文件中写断点规则。注意单位必须用em,不是px。示例(适配 Bootstrap 默认断点):
@media (max-width: 575.98px) { .hero-title { letter-spacing: 0.02em; } } @media (min-width: 576px) and (max-width: 767.98px) { .hero-title { letter-spacing: 0.04em; } } @media (min-width: 768px) { .hero-title { letter-spacing: 0.06em; } }关键点:
- 别用
px:小屏下1px在 14px 字号上太重,大屏下又不够,em随字号缩放才可靠 - 别套在
.container或.row上:继承性会让所有子文本(含<input>)一起变,光标错位风险高 - 优先作用于语义化容器:
<h1 class="hero-title"></h1>、<p class="lead-text"></p>,而非泛泛的div
用 Sass 自定义响应式类(仅限编译环境)
如果你用的是 Bootstrap 源码(SCSS 版),可在
_custom.scss中循环生成带断点的类:@each $breakpoint, $value in map-get($grid-breakpoints, 'sm') { @include media-breakpoint-up($breakpoint) { .ls-#{$breakpoint}-tight { letter-spacing: -0.02em; } .ls-#{$breakpoint}-normal { letter-spacing: 0; } .ls-#{$breakpoint}-wide { letter-spacing: 0.05em; } } }编译后就能这样用:
<h2 class="ls-sm-tight ls-md-normal ls-lg-wide">品牌标语</h2>
注意:
- 不要起名
ls-1/ls-2:Bootstrap 的spacers是基于$spacer * n的,但letter-spacing合理值在0.02em–0.1em区间,线性放大毫无意义 - 负值慎用:中文
-0.03em已接近粘连临界点,<small></small>或.text-muted上禁用负值 - 别和
.text-uppercase叠加:大写本身已拉宽视觉字距,再加letter-spacing容易过松
行高与字间距必须协同调整
加大
letter-spacing后,如果line-height不动,文字会显得“飘”——字松了,行距没变,视觉节奏失衡。实操建议:
-
letter-spacing: 0.05em时,对应把line-height微调到1.45(原1.5) - 标题用
.display-4+ls-lg-wide?记得同步覆盖line-height,否则小屏下易断行错乱 - 避免全局设
body { letter-spacing: ... }:它会污染所有交互组件(.btn、.form-control),导致光标偏移、选区虚线错位
真正要命的不是写不出响应式字间距,而是忘了它和
line-height、font-size、继承链是一体的——调一个,得看住另外三个。 - 别用











