我正在努力使input[type=text]
的div适合InputDivMain
中剩余空间的整个宽度。我不知道如何使InputDivTitle
div只与其内容一样宽,而不是更多。在仅拟合其内容的宽度之后,我希望InputDiv
填充剩余的间隙,使其内部的输入填充该div的100%。
这是我的HTML:
<div class='Segment'>
<div class='DisplayTable InputDivMain' id='MainDiv_01'>
<div class='DisplayTableCell InputDivTitle'>Search by ID</div>
<div class='DisplayTableCell InputDiv'>
<input class='w3-input' type='text'>
</div>
</div>
<div>
<input type="button" value="Search">
</div>
</div>
<div class='Segment'>
<div class='DisplayTable InputDivMain' id='MainDiv_02'>
<div class='DisplayTableCell InputDivTitle'>Search by Number</div>
<div class='DisplayTableCell InputDiv'>
<input class='w3-input' type='text'>
</div>
</div>
<div>
<input type="button" value="Search">
</div>
</div>
这是我的CSS:
.DisplayInline {
display: inline-block;
}
.DisplayTableCell {
display: table-cell;
vertical-align: middle;
}
.DisplayTable {
display: table;
}
.Segment {
margin-bottom: 20px;
}
.InputDivMain {
box-sizing: border-box;
margin-bottom: 5px;
border-bottom: 1px solid #009688;
display: table;
width: 100%;
}
.InputDivMain:hover {
cursor: text;
}
.InputDiv {
overflow: auto;
border: 1px solid red;
width: auto;
box-sizing: border-box;
}
.InputDiv > input[type=text] {
border-bottom: 0px;
width: 100%;
}
.InputDiv > input[type="text"]:focus {
outline: none;
}
.InputDivTitle {
box-sizing: border-box;
border: 1px solid green;
color: #009688;
font-size: 120%;
padding-left: 5px;
}
input[type="button"] {
width: 100%;;
}
请帮忙!
编辑:抱歉,我完全忘了添加我的JSFiddle链接。 https://jsfiddle.net/ytsvzyc6/答案 0 :(得分:1)
你应该把
float
导致元素仅占用其内容
overflow: hidden;
导致下一个内容占用剩余空间
.InputDivTitle{
float: left;
}
.InputDiv{
position: relative;
overflow: hidden;
}
答案 1 :(得分:0)