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

React输入框设置width:300px却显示322px,如何修正?

解决React输入框设置width后实际宽度超出的问题

这是CSS盒模型的默认行为导致的:

  • 默认盒模型为content-box,设置的width仅代表内容区域的宽度,padding和border会额外添加到总宽度中
  • 你的输入框设置了左右padding: 10px(总计20px)、左右border: 1px(总计2px),300+20+2=322px,正好是实际显示的宽度

解决方案

给输入框添加box-sizing: border-box属性,让设置的width包含内容、padding和border的总宽度:

input {
  width: 300px;
  padding: 15px 10px;
  border: 1px #818181 solid;
  border-radius: 12px;
  box-shadow: 0px 0px 3px #818181;
  box-sizing: border-box; /* 新增属性 */
}

如果希望项目中所有元素都统一这种盒模型(避免重复踩坑),可以全局设置:

* {
  box-sizing: border-box;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 06:35:37