Tailwind 的响应式断点基于 min-width,因此 sm:text-2xl 表示“屏幕宽度 ≥640px 时启用”,而非“小屏时启用”;若希望小屏用小字号、大屏用大字号,需按从最小断点到最大断点的顺序声明,如 text-2xl sm:text-4xl。
tailwind css 的响应式断点基于 `min-width` 媒体查询,这意味着 `sm:text-2xl` 并非“在小屏幕上生效”,而是“当视口宽度 ≥640px 时生效”。这是初学者最常见的误解——误将 `sm` 理解为“small screen only”,实则它是“small and larger”的起点。
要实现「小屏显示较小文字、大屏放大」的预期效果,必须遵循 从小到大的断点声明顺序:基础类(无前缀)适用于所有尺寸(即 max-width: 639px),而 sm: 类覆盖 640px 及以上,md: 覆盖 768px 及以上,依此类推。
✅ 正确写法(推荐):
<div className="text-2xl sm:text-4xl md:text-6xl"> Hello, responsive world!</div>
❌ 错误写法(原问题):
<div className="text-4xl sm:text-2xl">hello</div>
这会导致:<640px 时使用 text-4xl(过大),≥640px 时反而缩为 text-2xl(违背“小屏适配”本意)。
立即学习“前端免费学习笔记(深入)”;
? 关键原则:
? 小贴士:
掌握这一逻辑后,不仅文本大小,所有响应式工具类(w-, p-, flex-col sm:flex-row 等)都将按预期工作。