【发布时间】:2016-07-08 08:26:12
【问题描述】:
为什么电子邮件和密码宽度超出input-container 宽度?
form {
background: #ccc;
}
.input-container {
background: red;
width: 469px;
margin: 0 auto;
}
.usermail,
.userpword {
margin-top: 10px;
}
input,
button {
width: 100%;
border-radius: 6px;
border: 1px solid #cacece;
padding: 10px 12px;
font-size: 1em;
}
.username input {
width: 206px;
}
<form action='' method='post' id='signupform'>
<div class='input-container'>
<div class='username'>
<input type='text' name='fname' id='fname' placeholder='First Name'>
<input type='text' name='lname' id='lname' placeholder='Last Name'>
</div>
<div class='usermail'>
<input type='email' name='email' id='email' placeholder='Email'>
</div>
<div class='userpword'>
<input type='password' name='pword' id='pword' placeholder='Password'>
</div>
<button>Sign Up</button>
</div>
</form>
【问题讨论】:
-
因为您的填充不计入宽度,所以您的输入是
100% + padding宽。使用box-sizing: border-box来解决这个问题。此外,这同样适用于您的边框。 -
^ 谷歌“CSS 盒子模型”
-
记住,一个简单的规则。
total width = width + padding + border -
忘记了填充效果。谢谢。