2012-03-29 18 views
7

マウスを移動したりクリックしたときにテキストエリアのサイズ変更ボタンが矢印のままであることに気づきました。CSSを使用してテキストエリアのサイズ変更ボタンのカーソルスタイルを変更する

私はそれがポインタでなければならないようです。

全体テキストエリアのカーソルを変更するには、テキストエリアに

resize:none; 

とCSSをリサイズツールを削除または追加するためのCSSがあると見て、

cursor:pointer; 

が、それはそこのように思えますサイズ変更ボタンのカーソルを制御するCSSパラメータにする必要があります。私は少し周りを見てきたが、プロパティを見つけるように見えることはできません。私はjavascriptやjqueryでこれを行ういくつかの方法を考えることができますが、過剰な殺人のように思えます。

CSSを使ってテキストエリアのサイズ変更ボタンのカーソルを設定する方法はありますか?

答えて

5

これはブラウザ自体によってレンダリングされ、HTMLの一部ではないため、CSSでスタイル設定することはできません。

+0

は、それがその後、あるjavascriptの解決策のように見えます。 – Rooster

+0

もっと簡単なjQueryソリューションについては私の答えを見てください。 – SpYk3HH

+0

これは、スタイルシートFYI –

0

これはブラウザの機能です...そのためのスタイルはありません。一部のブラウザでは、テキスト領域にリサイズコーナーを表示しない場合もあります。残念ながら、これはおそらくこの時点では変更できません。

15

jQueryには、この問題に対処する簡単な方法があります。

<script type="text/javascript"> 
    $(function() { 
     $(document).on('mousemove', 'textarea', function(e) { 
      var a = $(this).offset().top + $(this).outerHeight() - 16, // top border of bottom-right-corner-box area 
       b = $(this).offset().left + $(this).outerWidth() - 16; // left border of bottom-right-corner-box area 
      $(this).css({ 
       cursor: e.pageY > a && e.pageX > b ? 'nw-resize' : '' 
      }); 
     }) 
    }); 
</script> 

を参照してくださいjsFiddle

一行

$(document).on('mousemove', 'textarea', function(e) { var a=$(this).offset().top+$(this).outerHeight()-16,b=$(this).offset().left+$(this).outerWidth()-16;$(this).css({cursor:e.pageY>a&&e.pageX>b?"nw-resize":""}); }) 
+0

に非常にいい形で追加してChromeで動作しました。私は、CSSソリューションがあればより良いことを望みますが、これは非常にうまくいきます。 – Rooster

+0

ええ、私はシンプルなCSSを望んでいた、またはブラウザがすでにそれをやっているが、これまでのことはやっていない。上記のスクリプトは、右下コーナー(サイズ変更領域)のみを扱いますが、テキストエリア上でいつでもどこでもマウスの変更を適用するために使用できます – SpYk3HH

+1

@ SpYk3HHおそらく、myPos.bottom> e.pageYおよびmyPos.right> e .pageXあなたがテキストエリアにイベントを添付しているので(カーソルスタイルは内部でのみ有効です) – shuji

関連する問題