html 输入元素扩展到全角
html input element expand to full width
我有一个简单的问题,但我尝试过的解决方案不起作用。我的表单中有两列布局。此外,右栏被分成两栏。左边是固定宽度(标签),右边是输入。如果可能的话,我希望在同一行输入和标签并且输入字段填充可用的其余部分 space。
请参阅 fiddle 并让我知道我缺少什么。
<div style="float: left; width: 45%">
<div id="keepTogether">
<div id="label">
Description
</div>
<div id="rightColumn">
<input id="inputfield" />
</div>
</div>
</div>
#keepTogether {
height: 24px;
margin-bottom: 8px;
margin-top: 0px;
}
#Label {
width: 100px;
float: left;
display: inline-block;
}
#inputfield {
float: right;
width: 100%;
}
#rightColumn {
width: auto;
}
https://jsfiddle.net/workmonitored/4m0sj1fq/4/#&togetherjs=j3i2Q105hF
希望这对你有用。
#keepTogether {
height: 24px;
margin-bottom: 8px;
margin-top: 0px;
}
#Label {
width: 20%;
float: left;
display: inline-block;
}
#inputfield {
float: right;
width: 100%;
}
#rightColumn {
width: 80% !important;
width: auto;
float: left;
}
选项 1 使用 display flex
片段
#main{
float: left;
width:60% ;
display:flex;
border:solid;
}
#keepTogether {
border:solid;
}
#label {
display: inline;
flex: 0 0 100px;
}
#inputfield {
-webkit-box-flex:1;
-webkit-flex:1;
-ms-flex:1;
flex:1;
}
<div id='main'>
<div id="label">
Description
</div>
<input id="inputfield" />
</div>
选项 2 使用 table 标签
这是一个片段
table{
width:60%;
}
td {
padding:0px;
margin:0px;
}
#inputfield{
width:100%;
margin:none;
padding:0;
}
#label{
width:50px;
}
<table>
<tr id='main'>
<td id="label">
Description:</td>
<td id="rightColumn">
<input id="inputfield" />
</td>
</tr>
</table>
我在您的代码中发现了一些错误。
- 您的第一个 div 没有必要保留。
- 您的 ID 选择不正确。应该是#label
你也应该遵循这个代码结构和 css 来解决这个问题。
#keepTogether {
display: inline-block;
}
#label {
float: left;
padding-right: 10px;
}
#inputfield {
width: 200px;
}
<div id="keepTogether">
<div id="label">
Description
</div>
<input id="inputfield" />
</div>
我有一个简单的问题,但我尝试过的解决方案不起作用。我的表单中有两列布局。此外,右栏被分成两栏。左边是固定宽度(标签),右边是输入。如果可能的话,我希望在同一行输入和标签并且输入字段填充可用的其余部分 space。 请参阅 fiddle 并让我知道我缺少什么。
<div style="float: left; width: 45%">
<div id="keepTogether">
<div id="label">
Description
</div>
<div id="rightColumn">
<input id="inputfield" />
</div>
</div>
</div>
#keepTogether {
height: 24px;
margin-bottom: 8px;
margin-top: 0px;
}
#Label {
width: 100px;
float: left;
display: inline-block;
}
#inputfield {
float: right;
width: 100%;
}
#rightColumn {
width: auto;
}
https://jsfiddle.net/workmonitored/4m0sj1fq/4/#&togetherjs=j3i2Q105hF
希望这对你有用。
#keepTogether {
height: 24px;
margin-bottom: 8px;
margin-top: 0px;
}
#Label {
width: 20%;
float: left;
display: inline-block;
}
#inputfield {
float: right;
width: 100%;
}
#rightColumn {
width: 80% !important;
width: auto;
float: left;
}
选项 1 使用 display flex
片段
#main{
float: left;
width:60% ;
display:flex;
border:solid;
}
#keepTogether {
border:solid;
}
#label {
display: inline;
flex: 0 0 100px;
}
#inputfield {
-webkit-box-flex:1;
-webkit-flex:1;
-ms-flex:1;
flex:1;
}
<div id='main'>
<div id="label">
Description
</div>
<input id="inputfield" />
</div>
选项 2 使用 table 标签
这是一个片段
table{
width:60%;
}
td {
padding:0px;
margin:0px;
}
#inputfield{
width:100%;
margin:none;
padding:0;
}
#label{
width:50px;
}
<table>
<tr id='main'>
<td id="label">
Description:</td>
<td id="rightColumn">
<input id="inputfield" />
</td>
</tr>
</table>
我在您的代码中发现了一些错误。
- 您的第一个 div 没有必要保留。
- 您的 ID 选择不正确。应该是#label
你也应该遵循这个代码结构和 css 来解决这个问题。
#keepTogether {
display: inline-block;
}
#label {
float: left;
padding-right: 10px;
}
#inputfield {
width: 200px;
}
<div id="keepTogether">
<div id="label">
Description
</div>
<input id="inputfield" />
</div>