2017-07-19 4 views
-2

私はTextのコンポーネントとTextInputを横に並べています。 TextInputのデバイスの残りの部分を残す必要があります。 flexboxでどうすればいいですか?または他のツール? Dimensionsは私にTextの長さを与えるので、それをテキストに割り当てることができますか?テキストに必要なだけスペースを割り当て、次に残りの部分をテキストの右側に配置するtextInput

+3

あなたが、少なくとも自分のためにこれをコーディングすることを試みることが期待されます。スタックオーバーフローはコードを書くサービスではありません。私はいくつか[**追加の研究**]を行うことをお勧めします(http://meta.stackoverflow.com/questions/261592/how-much-research-effort-is-expected-of-stack-overflow-users) Googleを介して、またはSOを検索して、試みてください。それでも問題が解決しない場合は、**あなたのコード**に戻り、あなたが試したことを説明してください。 –

+0

問題は、誰かが何かをする方法を知らないときに、その人にコードを提供することを期待しているように、私はそれをコード化する方法を知っているかのように面白いです!コードなしの質問が表示されたらすぐに-1を与える前に、その人にいくつかのヒントを与えるのが良いでしょう! – farmcommand2

+0

テキストの幅を知っていれば、cssで 'calc'メソッドを使うことができます。あなたはテキストの幅を知らないと考える。あなたは、コンテナの全幅、そしてテキスト要素の幅を得るためにjavascriptを使う必要があります。次に、入力の幅をtotalWidth - texWidthに設定することができます。 –

答えて

0

あなたは下のスニペットから何が起こっているの要点を得ることができるはずです。これをあなたのニーズに合わせてください。

var containerWidth = document.getElementById("container").offsetWidth; 
 
var labelWidth = document.getElementById("label").offsetWidth; 
 
var inputWidth = containerWidth - labelWidth - 1 + "px" 
 
document.getElementById("input").setAttribute("style", `width: ${inputWidth}`);
#container { 
 
    width: 300px; 
 
} 
 
#label { 
 
    float: left; 
 
} 
 
#container, #input, #label { 
 
    box-sizing: border-box; 
 
}
<div id="container"> 
 
    <label for="input" id="label">Label</label> 
 
    <input id="input" type="text" /> 
 
</div>

関連する問題