- 此问题在此处已有答案**:
How to make an element width: 100% minus padding?(15个答案)
3天前关闭。
在以下HTML代码中:
<div>
<label id="name-label">
NOMBRE
<input type="text" id="username" name="username" placeholder="Introduce tu nombre" required>
</label>
</div>
通过应用以下CSS
div{
border: 2px solid orange;
}
label{
background-color: blue;
display: block;
}
input{
width: 100%;
}
input元素比包含它的label元素占用更多的空间。
为什么会发生这种情况?如果100%引用父元素,在本例中是label元素......那么它永远不会占用更多的空间,对吗?
我该怎么解决呢。非常感谢。
2条答案
按热度按时间llycmphe1#
发生这种情况是因为默认情况下使用
box-sizing: content-box;
,这意味着您的输入是100%宽度+padding
宽度+border
宽度。要解决此问题,您应该从输入字段中删除默认填充和边框:
或者您应该将
box-sizing
更改为border-box
(其中填充和边框包含在100%的宽度中):y3bcpkx12#
input元素正在接受边框和填充。您必须将其设置为零。
使用此CSS输入字段。这将修复!