You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让复选框与自定义行高的多行文本顶部对齐?

嘿,这个问题我之前折腾过!你用inline-grid的方向是对的,只需要加一行属性就能搞定顶部对齐,完全不用靠固定margin来偏移~

问题出在默认的网格项对齐方式上,默认情况下grid容器里的元素会垂直居中,所以你的复选框才会和多行文本的中间对齐。只需要给.checkbox容器加上align-items: start,就能让复选框和文本的第一行顶部对齐了。另外用grid的gap属性来代替input的margin-right会更符合布局规范,也更灵活。

修改后的CSS代码是这样的:

.checkbox {
  display: inline-grid;
  grid-template-columns: auto auto;
  align-items: start; /* 核心:让网格项顶部对齐 */
  gap: 10px; /* 替代margin-right,控制复选框和文本的间距 */
  line-height: 2;
}

HTML部分保持不变就行:

<div style="max-width: 200px">
  <div class="checkbox">
    <input type="checkbox" />
    <label>
      Here is some text that wraps over multiple lines.
    </label>
  </div>
</div>

如果你更习惯用flex布局,其实也能实现同样的效果,代码差不多:

.checkbox {
  display: inline-flex;
  align-items: start;
  gap: 10px;
  line-height: 2;
}

这两种方式都能自适应文本的行高变化,不用手动调整偏移量,完美解决你的需求😉

内容的提问来源于stack exchange,提问作者dannymidnight

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:55:33