2013-04-06 81 views
14

<div>固定幅と高さ(px /%で表すことができます)があります。私の中に<textarea>があり、幅は100%です。div内に正確にテキストエリアを収める方法 - CSS

HTML

<div> 
    <textarea></textarea> 
</div> 

CSS

div{ 
    height: 200px; 
    width: 300px; 
    background: red; 
} 
textarea{ 
    height: 100px; 
    width: 100%; 
} 

しかし</textarea>は次のように、容器の外に伸びています。 Screenshot

私は、テキストエリアをコンテナの100%伸ばしたいと思っています。どうすればこれを達成できますか?

Hereは作業フィドルです。

答えて

23

box-sizing:border-boxをテキストエリアのCSSに追加します。

+1

、Windows 7の –

+2

Firefoxはこの1上の方法の背後にある末尾れます。 '-moz-box-sizing:border-box'を追加してみてください。 –

+0

CSS3で作業しているときは常にチェックしてください。 http://caniuse.com/css3-boxsizing –

4

テキストエリアには、ネイティブのパディングと枠線があります。

あなたが設定した場合:

textarea{ 
    height: 100px; 
    width: 98%; 
    padding:1%; 
    border:none; 
} 

を装着されます:)

+0

私はこの回避策を知っています。しかし、問題はこのような解決策ではありません。 –

+0

あなたはどんなブラウザを持っていますか? Kolinkの解決策は私にとっては大丈夫です;) 多分あなたはブラウザプレフィックスを追加する必要があります '-moz-box-sizing:border-box; -webkit-box-sizing:ボーダーボックス。ボックスサイズ:border-box; ' –

8

あなたはボックスのサイズ変更を使用することができます。しかし、各ブラウザは異なるので、この例はすべてのクラスAブラウザで動作します。私のFirefox 6.02で動作していない

textarea{ 
    height: 100%; 
    width: 100%; 
    -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */ 
    -moz-box-sizing: border-box; /* Firefox, other Gecko */ 
    box-sizing: border-box;   /* Opera/IE 8+ */ 
} 

http://jsfiddle.net/BwVQZ/7/

関連する問題