2011-08-11 3 views
4

私は、ラベルと入力テキストを含むHTML divを持っています。私は、ラベルに最小スペースをとり、テキスト入力に残りのスペースを与えたいと思っています。言い換えれば、ラベルがそのスペースを占有したら、テキスト入力がdivに含まれるdivの最後まで水平に伸びるようにしたいと思います。ここでは私が使用しているサンプルコードを示します。入力されたテキストを伸ばして、それが入っている区画を塗りつぶします

<div> 
    <label >Some Label</label> <!--Should take minimum space --> 
    <input type="text"/>  <!--Should stretch horizontally to fill up entire div --> 
</div> 
+1

ここ

<div class="notificationArea"> <label >Some Label</label> <input type="text"/> </div> 

CSSのコードを見つけました本当に面倒な見方があり、いくつかの研究では、入力よりも上のラベルが、脳が処理して意味を導出するために速くなることが示されています。これは、これを稼働させるには時間がかかりません。 – coreyward

+1

あなたは正しいかもしれませんが、ユーザーが実際にページをスクロールする必要がないようにできるだけたくさんパックしなければなりません。ラベルと入力を別々の行に入力すると、いくつかの垂直スペースが失われます。 – Jatin

答えて

1

demo here

完璧しかし、あなたはその

に実装しようとすることができない私はこれがために起こっている

.notificationArea 
{ 
    width: 100%; 
    vertical-align: left; 
    text-align:left; 
    background: #ccc; 
    display: table; 
} 
.notificationArea label, .notificationArea input { 
    display: table-cell 
} 
.notificationArea input { 
    width: 100% 
} 
+0

質問を投稿する前にこのコードを試しました。それはIE9で動作しますが、Google Chromeは入力テキストを伸ばしません。とにかく返信してくれてありがとう。 – Jatin

+0

'input'の周りに余分な要素を置き、代わりに' display:table-cell'を与えてください。 – RoToRa

関連する問題