2009-02-25 8 views
90

私のアプリケーションでテキストエリアコンポーネントを使用していて、その高さを動的に制御しています。ユーザーが入力すると、十分なテキストがあるたびに高さが増加します。これは、IE、Firefox、およびSafariで正常に動作します。Safariでテキストエリアリサイズハンドルを非表示にする

しかし、Safariで、ユーザーがクリックしてドラッグすることでテキストエリアのサイズを変更することができます右下の「ハンドル」ツールがあります。私はまた、stackoverflowのtextareaでこの問題に気づいた。このツールは混乱しており、基本的には途方に暮れています。

これで、このサイズ変更ハンドルを非表示にすることはありますか?

(私は右の単語である「ハンドル」かどうかわからないんだけど、私はより良い用語を考えることはできません。)

答えて

164

あなたはCSSでサイズ変更動作をオーバーライドすることができます。

textarea 
{ 
    resize: none; 
} 

か単に

<textarea style="resize: none;">TEXT TEXT TEXT</textarea> 

有効な特性がある:両方の、水平、垂直、なし

+22

ない厳密に関連するが、Safariはまた、それはサイズを変更することができますどのくらいに有効ですが、場所の制限をリサイズ残す分の高さ、最大高さ、最小幅、および最大幅のCSSプロパティを尊重します。 – stevemegson

+1

ありがとうございます!この同じ質問をしようとしていました:) – alex

+0

私はサイズを設定した後、ホバーに表示したい場合は何もありませんか? –

2

すべてTextArea要素に対してこの動作を無効にするには、次のCSSルールを使用してください:あなたは、いくつかの(すべてではない)TextAreaの要素のためにそれを無効にしたい場合は、

textarea { 
    resize: none; 
} 

いくつかのオプションがあります(this pageのおかげで)。

textarea[name=foo] { 
    resize: none; 
} 

または、IDを使用して(すなわち、<TextArea id="foo"></TextArea>):

#foo { 
    resize: none; 
} 

(注)このようfoo(すなわち、<TextArea name="foo"></TextArea>)に設定name属性を持つ特定のTextAreaを無効にするには

TextAreaコントロールにリサイズハンドルを追加するWebKitベースのブラウザ(SafariとChrome)にのみ関連します。

ここ
関連する問題