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

移除输入框右侧内边距:Flex布局多输入框样式问题求助

搞定输入框右侧内边距问题!

我来帮你解决这个Flex布局下输入框右侧有多余内边距的问题~ 大概率是浏览器给表单元素加的默认样式在搞鬼,咱们一步步来修复:

1. 精准清除输入框右侧内边距

直接给input元素设置padding-right: 0,就能去掉右侧的默认内边距。另外别忘了检查父元素form有没有默认的内边距,它也可能让你误以为是输入框的问题:

.inputSettings > form {
  background: red;
  border: 1px solid yellow;
  flex: 1;
  padding: 0; /* 清除form的默认内边距 */
  margin: 0; /* 可选,清除form的默认外边距 */
}

.inputSettings > form > input {
  width: 165px;
  height: 30px;
  border-radius: 5px;
  padding-right: 0; /* 移除输入框右侧内边距 */
  /* 如果想彻底清除所有内边距,直接写 padding: 0; 就行 */
}

2. 加个全局重置让布局更稳

浏览器对很多元素都有默认样式,建议在CSS开头加一段全局重置代码,能避免很多莫名其妙的布局问题,尤其是Flex布局:

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; /* 重点!让width包含边框和内边距,不会超出预期宽度 */
}

box-sizing: border-box特别重要,它会让你设置的width:165px完全包含输入框的边框和内边距,不会因为这些额外元素导致布局偏移,完美适配你的Flex布局需求。

完整可运行的代码示例

<style>
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.inputSettings { 
  display: flex; 
  flex-direction: row; 
  flex-wrap: wrap; 
  max-width: 750px; 
}

.inputSettings > form { 
  background: red; 
  border: 1px solid yellow; 
  flex: 1; 
  padding: 0;
  margin: 0 5px; /* 可选,给表单之间加一点间距,避免挤在一起 */
}

.inputSettings > form > input { 
  width: 165px; 
  height: 30px; 
  border-radius: 5px; 
  padding-right: 0;
}
</style>

<div class="inputSettings">
  <form>
    <label>First Name</label>
    <input type="text" id="fname" name="fname">
  </form>
  <form>
    <label>Last Name</label>
    <input type="text" id="lname" name="lname">
  </form>
</div>

这样修改后,输入框右侧的内边距就会消失,同时Flex布局也能正常工作啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:26:49