在同一容器中,带有display:block的输入文本会按预期填充以填充可用空间,但如果我将类型更改为' date'它变短了。为什么呢?
HTML:
<div class="panel">
<div class="input-group">
<label for="text1">text1</label>
<input id="text1" type="text"/>
</div>
<div class="input-group">
<label for="date">date</label>
<input id="date" type="date" />
</div>
<div class="input-group">
<label for="text2">text2</label>
<input id="text2" type="text" />
</div>
</div>
CSS:
.panel {
display: flex;
flex-wrap: wrap;
}
.input-group {
flex-grow: 1;
text-align: left;
}
label, input {
display: block;
}
结果:text1和text2的大小相同,但日期较短。
答案 0 :(得分:1)
input
类text
的{{1}}属性默认为20,并为其指定初始宽度。
size
类型的input
没有,它的宽度是使用CSS设置的,因此它们的初始宽度不同。
请注意,这些预设宽度也可能因浏览器而异。
以下是第一个date
大小为10
input
&#13;
答案 1 :(得分:0)
元素默认宽度和高度可能因浏览器而异。
为height
元素指定padding
和input
以使它们具有相同的高度,并指定width
以使它们具有相同的宽度。
为所有input
元素提供100%的宽度,并根据您的需要更改parent div
宽度。
.panel {
position: relative;
display: flex;
flex-wrap: wrap;
}
.input-group {
flex-grow: 1;
text-align: left;
width: 30%;
margin-right: 3%;
}
label, input {
display: block;
height: 20px;
width: 100%;
padding: 0;
margin: 0;
}
<div class="panel">
<div class="input-group">
<label for="text1">text1</label>
<input id="text1" type="text"/>
</div>
<div class="input-group">
<label for="date">date</label>
<input id="date" type="date" />
</div>
<div class="input-group">
<label for="text2">text2</label>
<input id="text2" type="text" />
</div>
</div>