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

如何让表格单元格内的input拉伸适配单元格,与上方textarea同宽?

让input元素与textarea宽度一致的解决方案

input与textarea宽度不一致的示意图

需求:将表格中下方的<input>元素拉伸至可用空间,使其宽度与上方的<textarea>保持一致。

原代码如下:

原有CSS

table, td {
  border: 1px solid black;
  border-collapse: collapse;
}

td {
  padding: 0.5em;
}

原有HTML

<table>
<tbody>
  <tr><td><textarea></textarea></td></tr>
  <tr><td><input type="text"/></td></tr>
</tbody>
</table>

解决方案

核心是让input和textarea的宽度计算规则统一,同时填满父容器的可用空间:

修改后的CSS:

table, td {
  border: 1px solid black;
  border-collapse: collapse;
}

td {
  padding: 0.5em;
}

/* 统一文本输入控件的宽度计算方式 */
textarea, input[type="text"] {
  box-sizing: border-box;
  width: 100%;
}

说明:

  • box-sizing: border-box:让元素的宽度包含自身的边框和内边距,避免设置width: 100%时,元素因自带的边框/内边距超出父容器。
  • width: 100%:让控件填满父级<td>的可用空间,这样input和textarea就会和td的宽度完全匹配,保持一致。

如果需要更灵活的控制,也可以给控件添加类名来单独设置:

可选方案(类名方式)

HTML:

<table>
<tbody>
  <tr><td><textarea class="full-width-input"></textarea></td></tr>
  <tr><td><input type="text" class="full-width-input"/></td></tr>
</tbody>
</table>

CSS:

table, td {
  border: 1px solid black;
  border-collapse: collapse;
}

td {
  padding: 0.5em;
}

.full-width-input {
  box-sizing: border-box;
  width: 100%;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 08:32:34