【发布时间】:2013-07-11 15:19:10
【问题描述】:
为什么输入字段/文本字段的 100% 宽度与包含的 div 重叠?
http://jsfiddle.net/lassebjensen/Uujck/3/
CSS:
.red-div-400px{
background-color:red;
width:400px
}
.input{
width: 100%;
min-height: 28px;
}
HTML:
<div class="red-div-400px">
E-mail
<input class="input" type="text">
</div>
下面的这段代码解决了这个问题,但是导致重叠的原因是什么?为什么不能将文本字段的宽度设置为 100%?
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
亲切的问候
【问题讨论】:
-
这是导致这种情况的输入的填充及其边界。请参阅updated fiddle。如果您检查输入,您会发现它不再重叠。
-
正如 Brewal 所说:这里是小提琴jsfiddle.net/Uujck/8
-
box model就是这样工作的,所以宽度为 100% + 填充意味着输入的大小将超过100%wide。CSS3box-sizing属性在元素内部添加填充,因此它不会增加整体宽度。
标签: html css input-field