You need to enable JavaScript to run this app. CSS如何解决输入框与登录按钮宽度不一致及占位符间距问题
优惠活动
大模型
产品
解决方案
定价
更多

CSS如何解决输入框与登录按钮宽度不一致及占位符间距问题

解决方案

你遇到的宽度不一致问题是默认CSS盒模型导致的:默认content-box模式下,元素的width仅指内容区宽度,添加的padding、border会额外撑开总宽度。你给输入框加了10px左内边距后,输入框总宽度变成90% + 10px,自然比没有padding的按钮宽10px。

具体修改步骤

  • 统一盒模型为border-box,这种模式下padding和border都会被计算在你设置的width范围内,不会额外撑开元素宽度
  • 直接给输入框统一设置padding-left: 10px,不需要单独给占位符加样式,输入的文本和占位符都会自动继承这个内边距产生左偏移
  • 清理代码中冲突的重复样式,修正小错误

修改后的完整代码

CSS代码

/* 统一盒模型,也可以单独给输入框、按钮添加该属性 */
* {
  box-sizing: border-box;
}
login ul {
  margin: 50px;
  padding: 0;
  list-style-type: none;
}
.login {
  vertical-align: middle;
}
.username-box {
  margin: 5px;
  padding: 0 0 0 10px; /* 左内边距实现文本、占位符统一右偏移10px */
  border: 0;
  width: 90%;
  height: 40px;
  color: #1ED760;
  font-weight: 900;
  font-size: 120%;
}
.username-box::placeholder {
  color: #1ED760;
  font-weight: 900;
  font-family: Arial;
}
.password-box {
  margin: 5px;
  padding: 0 0 0 10px; /* 同输入框左内边距 */
  border: 0;
  width: 90%;
  height: 40px;
  color: #1ED760;
  font-weight: 900;
  font-size: 120%;
}
.password-box::placeholder {
  color: #1ED760;
  font-weight: 900;
  font-family: Arial;
}
.login-btn {
  margin: 5px;
  padding: 0;
  border: 0;
  height: 40px;
  width: 90%;
  text-align: center;
  color: black;
  font-weight: 900;
  font-family: Arial;
  font-size: 120%;
}

HTML代码(修正密码框类型、冗余标签错误)

<login class="login">
  <ul>
    <li><input class="username-box" type="text" placeholder="Username"></li>
    <li><input class="password-box" type="password" placeholder="Password"></li>
    <li><button class="login-btn" type="submit">Login</button></li>
  </ul>
</login>

效果说明

修改后输入框和按钮的总宽度都是父元素宽度的90%,完全对齐;输入框内的占位符和用户输入的文本都会自带10px的左间距,不会出现输入内容后间距消失的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 03:30:01