2011-10-24 22 views
4

私は、ユーザーが編集したいテキストを持つtextareaタグを持っています。 textareaタグはそうのようなdivの内にラップされていますCSSを使用してTextareaを100%に拡張する方法

div.container { 
    width: 295px; 
    max-height: 250px; 
    overflow: auto; 
    position: relative; 
    border: 1px solid: #EEEEEE; 
} 
textarea { 
    width: 270px; 
    height: 100%; 
    resize: none; 
    overflow: hidden; 
    border: none; 
} 

<div class="container"> 
    <textarea id="overview"> 
     blah blah.... 
    </textarea> 
</div> 

divが固定幅、最大高さを持っており、高さが大きすぎる場合、スクロールバーが表示されます。このすべては問題ありませんが、textareaを100%に拡張するにはどうすればよいですか?現在、2行の高さしかありません。その中にたくさんのテキストがある場合、すべてのテキストを表示するように展開しません。 Please see this fiddle to see what I'm talking about.

+0

最終目標は何ですか?あなたは柔軟なテキストエリアを探していて、それをスクロールしたいですか?私は、なぜあなたが望むスタイルを 'textarea'自体に適用しないのかわかりません。 – egid

答えて

4

div.containerには明示的な高さが指定されている必要があります。子供のコンテンツはmax-heightheight)まで拡張されません。このような

何か: http://jsfiddle.net/dpF7k/ 以上は、単に代わりにラッピングのdivのテキストエリアに直接適用:http://jsfiddle.net/ujKCf/

欠けている唯一のものは少ないコンテンツがある場合、それは250ピクセル未満に縮小していないということです。

+0

コンテンツが動的なので、max-heightを使用しました。テキストエリアの内容が250pxを超えて展開されている場合、divにスクロールバーを付けてテキストエリアのテキストを表示したいと思います。 – Halcyon

+0

ポイントは、max-heightは素晴らしいかもしれませんが、いっぱいになるまでは何もしません。 [@ Karlのコメント](http://stackoverflow.com/questions/7882402/how-to-expand-a-textarea-to-100-using-css-only/7882522#7882522)を参照してください。 – egid

+0

洞察に感謝します。これをテストした後、jQueryを使用し、ページが読み込まれた後に必要な高さにテキスト領域を展開することで問題を解決しました。 – Halcyon

1

テキストエリアにのみ、あなたがmax-height: 250pxであるためにあなたのコンテナを設定している間に何かがそれをプッシュしていない限り、それはその大きさに拡大していないだろう

div#containerほどの大きな展開することができます。あなたのテキストエリアは100%なので、利用可能なものを使用します。

私が何を意味するかを見るには、max-heightの代わりにheight: 250pxになるようにコンテナを設定してください。

+0

私は、テキストエリアの高さを3000pxに設定することができ、それはすべてのテキストを表示するためにそれを展開しますが、テキストエリアのテキストの下に小さなスクロールバーとたくさんの余分な白いエリアがあります。私はテキストエリアをどのように拡張すべきかについて、ちょうど困惑しています。テキストエリアの内容が動的なので、固定高さを使うことはできません。 – Halcyon

+0

Facebookなどの他のウェブサイトでもこれに対処しなければならなかったが、唯一の解決策は、テキストエリアのコンテンツを増やすときにJavaScriptを使用することだと思う。 Valoric – Karl

0

代わりにJavaScriptを使用して解決できます。

これはJames PadolseyのjQuery pluginです。それはあなたが望むものとまったく同じように見えます。

編集:私はOPがオーバーフローのためにスクロールバーを望んでいないと思った... NVM then

+0

@GrigoryKalabinもまた壊れていると言われるjQueryプラグインなど、これに関する多数のコードサンプルがあります – Ascherer

関連する問題