マウスをテーブルの行の上に移動すると、カーソルが手に変わります


201

マウスをaの上<tr>に移動したときにカーソルポインターを手に変更するには<table>

<table class="sortable" border-style:>
  <tr>
    <th class="tname">Name</th><th class="tage">Age</th>
  </tr>
  <tr><td class="tname">Jennifer</td><td class="tage">24</td></tr>
  <tr><td class="tname">Kate</td><td class="tage">36</td></tr>
  <tr><td class="tname">David</td><td class="tage">25</td></tr>
  <tr><td class="tname">Mark</td><td class="tage">40</td></tr>
</table>

インタラクティブなコードスニペットについては、私の答えを確認してください
fmagno

回答:


350

CSSでこれを実際に行うことができます。

.sortable tr {
    cursor: pointer;
}

21
これはがなくても問題なく機能し:hoverます。 cursorマウスが上にあるときにカーソルがどのように変化するかを定義します。
ジェームズモンターニュ

3
この答えを変更して不要なものを削除でき:hoverますか?質問は2年後もまだ注目を集めており、受け入れられた回答が:hover不必要に使用することを示唆していないのであれば、すばらしいことです。私はそれがどのようにcursor機能するかの誤解につながり:hover、カーソルを変更するためにが必要であることを示唆すると思います。
James Montagne

203

ブートストラップスタイルを少し検索したところ、次のことがわかりました。

[role=button]{cursor:pointer}

だから私はあなたがあなたが望むものを手に入れることができると思います:

<span role="button">hi</span>

ブートストラップ愛好家には良かったですが、質問にはフロントフレームワークが含まれていないため、この回答が質問に関連している理由がわかりません(回答が素晴らしい場合でも)
Greco Jonathan

@Hooli 6-2018現在、この投稿は「ブートストラップ変更アイコンからポインターへのポインターへの変更」を検索したときの最上位の結果です。
BrianHVB

1
@OlivierBoisséテストされたばかりで、BS 4でも動作します
Gabe Hiemstra

1
重要:を追加するrole="button"場合は追加しないでくださいstyle="cursor:pointer;"。まず、要素は他の場所で定義されている(他の場所でオーバーライドされていない)CSSに依存しており、最も重要なのは、ほとんどのユーザーが属性を必要としないという理由だけで属性を誤用してroleいることです。ほとんどのスクリーンリーダーでは、[role=button]要素を反復処理できるため、Webアクセシビリティに問題のあるユーザーは、すべてのページボタンをすばやく移動できます。フッターリンクに到達するために、テーブルの各行を通過する必要がないようにしてください。
tao



17

これを私のstyle.cssに追加して、カーソルオプションを管理します。

.cursor-pointer{cursor: pointer;}
.cursor-croshair{cursor: crosshair;}
.cursor-eresize{cursor: e-resize;}
.cursor-move{cursor: move;}

1
途中でタイプミスを導入した場合(「クロスヘア」を参照)
オブザーバー

12

IE <6との互換性のために、次の順序でこのスタイルを使用します。

.sortable:hover {
    cursor: pointer;
    cursor: hand;
}

ただし、IE <7では:hover<a>要素を使用した場合のみ疑似クラスがサポートされることに注意してください。


10

cursor: pointer;カーソルを移動させる要素のCSS のスタイルを使用します。

あなたの場合、あなたは(.cssファイルで)使用します:

.sortable {
    cursor: pointer;
}

9

次のようにCSS カーソルプロパティを使用します

<table class="sortable">
  <tr>
    <th class="tname">Name</th><th class="tage">Age</th>
  </tr>
  <tr style="cursor: pointer;"><td class="tname">Jennifer</td><td class="tage">24</td></tr>
  <tr><td class="tname">Kate</td><td class="tage">36</td></tr>
  <tr><td class="tname">David</td><td class="tage">25</td></tr>
  <tr><td class="tname">Mark</td><td class="tage">40</td></tr>
</table>

もちろん、スタイルをCSSファイルに入れてクラスに適用する必要があります。


4

CSSの使用

table tr:hover{cursor:pointer;} /* For all tables*/
table.sortable tr:hover{cursor:pointer;} /* only for this one*/

3

標準のみで上記のソリューションは機能しますが、データテーブルを使用している場合は、デフォルトのdatatatables.css設定をオーバーライドし、次のコードをカスタムCSSに追加する必要があります。以下のコードで、行選択はデータテーブルに追加したクラスですhtmlに示すように。

table.row-select.dataTable tbody td
{
cursor: pointer;    
}

そして、あなたのhtmlは以下のようになります:

<table datatable="" dt-options="dtOptions1" dt-columns="dtColumns1" class="table table-striped table-bordered table-hover row-select"  id="datatable"></table>

上記の解決策は何ですか?
Kmeixner

2

インラインスタイルの例:

<table>
  <tr> <td style="cursor: pointer;">mouse me over: pointer</td> </tr>
  <tr> <td style="cursor: wait;">mouse me over: wait</td> </tr>
  <tr> <td style="cursor: zoom-in;">mouse me over: zoom-in</td> </tr>
</table>

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.