line-height 对 button 无效,因其默认为 inline-block,文字垂直居中应靠 padding、flex 或 height+line-height(仅限特定 display 值);优先使用相对单位和弹性布局适配响应式。

line-height 对按钮无效——它只作用于“形成行框”的文本流元素,而 <button></button> 默认是 display: inline-block,其内部文本的垂直居中靠的是盒模型行为,不是行框计算。
为什么给 button 设 line-height 没反应
常见现象:写 button { line-height: 40px; },但按钮高度没变,文字也没垂直居中。
-
line-height在inline-block元素上仅影响其**行内内容的行框高度**,但按钮自身高度由height、padding和字体撑起,不继承该行高 - 如果同时设了
height和line-height,且line-height > height,文字会溢出或被裁剪(取决于overflow) - 父容器设了
font-size: 0(比如为清除 inline 间隙),会导致子 button 内部line-height计算值为 0 —— 此时必须显式给 button 设font-size
真正控制按钮文字垂直居中的方法
想让按钮里单行文字上下居中,别碰 line-height,用这三种更稳的方式:
如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Android友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Android应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更
- 用
padding:上下 padding 相等,比如padding: 12px 20px,配合font-size: 16px自然居中 - 用
height + display: flex + align-items: center:button { height: 40px; display: flex; align-items: center; } - 用
height + line-height(仅当按钮是display: block或inline且无 padding 时才勉强有效,但不推荐)
按钮高度与响应式适配的关键点
固定 height 容易在缩放、系统字体放大或小屏设备上出问题;优先用相对单位和弹性方式:
- 避免
height: 40px这类绝对值,改用min-height: 2.5em或padding: 0.75em 1.5em - 配合
box-sizing: border-box,确保 padding 不额外撑大尺寸 - 若需严格单行限制,加
white-space: nowrap防止换行撑高 - 在移动端,
font-size可能被浏览器强制放大(如 iOS Safari),此时em/rem比px更可靠
按钮不是段落,别套用文本排版逻辑。它的“行高”本质是布局问题,不是行框问题——最常被忽略的是:你试图调的从来就不是行高。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










