私はinput[type=text]
のdivをInputDivMain
の残りのスペースの全幅に合わせようとしています。私はInputDivTitle
divをコンテンツの幅だけにする方法を知りません。コンテンツの幅のみをフィッティングした後、InputDiv
に残りのギャップを埋めるようにして、その内側の入力をそのdivの100%にします。divの幅をコンテンツに合うようにする方法と、次のdivで残りの部分を満たす方法はありますか?
これが私の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/
左のdivはコンテンツの幅と同じになり、右のdivは残りの部分を占める可能性がありますが、CSSのみを使用して親のトリッキーと同じ幅になるように入力のサイズを変更します。 JavaScriptを使用できますか? –
[コンテンツより大きくないdivを作成する方法](https://stackoverflow.com/questions/450903/how-to-make-div-not-larger-than-its-contents) – AvrilAlejandro
はい、私はJavaScriptを使うことができます。これを解決するためにJSをどのように使用できますか? @MrLister – Monil