ユーザーがリストアイテムの上にカーソルを置いたときにカーソルを手にする


1958

リストがあり、そのアイテムのクリックハンドラーがあります。

<ul>
  <li>foo</li>
  <li>goo</li>
</ul>

マウスポインターをハンドポインターに変更するにはどうすればよいですか(ボタンの上にカーソルを置いたときなど)。現在、リストアイテムにカーソルを合わせると、ポインターがテキスト選択ポインターに変わります。


52
参考までに、「jquery」を削除して「css」を追加することにより、質問のタグを付け直し、質問の性質とその回答をより正確に反映しました。
クリストファーパーカー

4
カーソルを手に変更したり、CSSで使用できるその他のアイコンを参照したりするための優れたリファレンスリスト。javascriptkit.com/dhtmltutors/csscursors.shtml
Neil

3
JavaScriptで追加されるクリックハンドラーがある場合、マウスポインターのCSSもJavaScriptで追加する必要があります。したがって、ユーザーは、それが不可能な場所をクリックする可能性があるとは思わない。これに適切な答えを追加しました。
クリストフ

あなたは試すましたcursor: grab
devssh

回答:


3252

時間の経過に照らして、人々が述べたように、安全に使用することができます:

li { cursor: pointer; }

212
cursor: pointerIE 5.5より上のすべてに対して、実行するだけで十分であることに注意してください。quirksmode.org
css

19
面白いのは、pointer!= cursor and hand!= pointerであり、混乱をさらに増しています。:)
Henrik Erlandsson 2013年

22
注目すべきことに、quirksmode.org / css / user-interface / cursor.html#note(以前のコメントで参照)は、手がポインターの後に来る必要があると述べています。ポインタだけを使用することをお勧めします
-IE

2
@EdwardBlackこれは、標準に準拠していない奇妙なブラウザに必要でしたが、答えはずっと前に更新されており、pointerこの質問は単に5年以上前の新しい方法を反映しています。
2015年

確かに。IEをIE5互換モードで実行してcursor:pointerも動作します。したがって、使用する言い訳があったcursor:handとしても、もうありません。
リスター氏2016

336

用途li

li:hover {
    cursor: pointer;
}

スニペットオプションを実行した後、例を使用してカーソルプロパティをさらに表示します。

各クラスのdivの上にカーソルを置いたアニメーション

.auto          { cursor: auto; }
.default       { cursor: default; }
.none          { cursor: none; }
.context-menu  { cursor: context-menu; }
.help          { cursor: help; }
.pointer       { cursor: pointer; }
.progress      { cursor: progress; }
.wait          { cursor: wait; }
.cell          { cursor: cell; }
.crosshair     { cursor: crosshair; }
.text          { cursor: text; }
.vertical-text { cursor: vertical-text; }
.alias         { cursor: alias; }
.copy          { cursor: copy; }
.move          { cursor: move; }
.no-drop       { cursor: no-drop; }
.not-allowed   { cursor: not-allowed; }
.all-scroll    { cursor: all-scroll; }
.col-resize    { cursor: col-resize; }
.row-resize    { cursor: row-resize; }
.n-resize      { cursor: n-resize; }
.e-resize      { cursor: e-resize; }
.s-resize      { cursor: s-resize; }
.w-resize      { cursor: w-resize; }
.ns-resize     { cursor: ns-resize; }
.ew-resize     { cursor: ew-resize; }
.ne-resize     { cursor: ne-resize; }
.nw-resize     { cursor: nw-resize; }
.se-resize     { cursor: se-resize; }
.sw-resize     { cursor: sw-resize; }
.nesw-resize   { cursor: nesw-resize; }
.nwse-resize   { cursor: nwse-resize; }

.cursors > div {
    float: left;
    box-sizing: border-box;
    background: #f2f2f2;
    border:1px solid #ccc;
    width: 20%;
    padding: 10px 2px;
    text-align: center;
    white-space: nowrap;
    &:nth-child(even) {
       background: #eee;
    }
    &:hover {
       opacity: 0.25
    }
}
<h1>Example of cursor</h1>

<div class="cursors">
    <div class="auto">auto</div>
    <div class="default">default</div>
    <div class="none">none</div>
    <div class="context-menu">context-menu</div>
    <div class="help">help</div>
    <div class="pointer">pointer</div>
    <div class="progress">progress</div>
    <div class="wait">wait</div>
    <div class="cell">cell</div>
    <div class="crosshair">crosshair</div>
    <div class="text">text</div>
    <div class="vertical-text">vertical-text</div>
    <div class="alias">alias</div>
    <div class="copy">copy</div>
    <div class="move">move</div>
    <div class="no-drop">no-drop</div>
    <div class="not-allowed">not-allowed</div>
    <div class="all-scroll">all-scroll</div>
    <div class="col-resize">col-resize</div>
    <div class="row-resize">row-resize</div>
    <div class="n-resize">n-resize</div>
    <div class="s-resize">s-resize</div>
    <div class="e-resize">e-resize</div>
    <div class="w-resize">w-resize</div>
    <div class="ns-resize">ns-resize</div>
    <div class="ew-resize">ew-resize</div>
    <div class="ne-resize">ne-resize</div>
    <div class="nw-resize">nw-resize</div>
    <div class="se-resize">se-resize</div>
    <div class="sw-resize">sw-resize</div>
    <div class="nesw-resize">nesw-resize</div>
    <div class="nwse-resize">nwse-resize</div>
</div>


オフトピック、どのGIFソフトウェアを使ったアニメーションですか?Waiting .. @ Santosh Khalse
fWd82 '21

3
@ fWd82 Check ShareX-GIFを記録
非表示

これはカーソルを思い出させるのに役立つと感じ、コードをツールとして追加しました。上記のコードへのリンクは次のとおりです。spragucm.com
Chris Sprague

1
素晴らしいアニメーション!@ fWd82-プレビューは、画面の領域のgifの記録にも適しています。github.com/phw/peek
Autumn Leonard

1
ha-これはすごい!ありがとう@ santosh-khalse
sufinawaz

156

これにはjQueryは必要ありません。次のCSSコンテンツを使用するだけです。

li {cursor: pointer}

そして、ほら!ハンディ。


1
ハンディ?うーん...あなたがそこで何をしたのかわかります、@ denis-alpheus-cahuk
osiris

78

使用する:

li:hover {
    cursor: pointer;
}

現在のHTML仕様の他の有効な値(そうでhandない)は、ここで確認できます


13
:hoverこの場合、疑似クラスの使用法がわかりません。マウスが要素の上に置かれていないときに別のカーソルを指定することには利点がありますか?またli:hover、IE6では動作しないことも読みました。
Robert

1
私は考え:hover、ちょうど特異性について@Robertです。申し訳ありませんが、MSIEのどのバージョンでもサポートをテストすることはできませんが、うまくいかなくても驚かないでしょう!:P
Alastair 2014年

handそれが機能していないのに、なぜトップの答えになっているのですか?
ブラック

1
@EdwardBlack cursor: handは非推奨であり、CSS仕様には含まれていません。それはie5-6時代からのようなものです。使用のみpointer
北米の16

43

使用する

cursor: pointer;
cursor: hand;

あなたがクロスブラウザの結果を得たいなら!


7
これは2018年であり、cursor:handはクロスブラウザ開発にもはや必要ではありませんか?
Haramoz

41

CSS:

.auto            { cursor: auto; }
.default         { cursor: default; }
.none            { cursor: none; }
.context-menu    { cursor: context-menu; }
.help            { cursor: help; }
.pointer         { cursor: pointer; }
.progress        { cursor: progress; }
.wait            { cursor: wait; }
.cell            { cursor: cell; }
.crosshair       { cursor: crosshair; }
.text            { cursor: text; }
.vertical-text   { cursor: vertical-text; }
.alias           { cursor: alias; }
.copy            { cursor: copy; }
.move            { cursor: move; }
.no-drop         { cursor: no-drop; }
.not-allowed     { cursor: not-allowed; }
.all-scroll      { cursor: all-scroll; }
.col-resize      { cursor: col-resize; }
.row-resize      { cursor: row-resize; }
.n-resize        { cursor: n-resize; }
.e-resize        { cursor: e-resize; }
.s-resize        { cursor: s-resize; }
.w-resize        { cursor: w-resize; }
.ns-resize       { cursor: ns-resize; }
.ew-resize       { cursor: ew-resize; }
.ne-resize       { cursor: ne-resize; }
.nw-resize       { cursor: nw-resize; }
.se-resize       { cursor: se-resize; }
.sw-resize       { cursor: sw-resize; }
.nesw-resize     { cursor: nesw-resize; }
.nwse-resize     { cursor: nwse-resize; }

カーソルを画像にすることもできます。

.img-cur {
   cursor: url(images/cursor.png), auto;
}

7
質問に対する答えではありません。

9
これは質問への直接の回答ではないかもしれませんが、これは非常に良いガイドラインです。ちなみにありがとう!
チッチャロンコ2015年

20

JavaScriptが利用可能な場合にのみハンド/ポインターカーソルを表示するのが賢明だと思います。だから、人々はクリックできない何かをクリックすることができると感じることはありません。

それを実現するには、JavaScriptライブラリjQueryを使用して、要素にCSSを追加します。

$("li").css({"cursor":"pointer"});

または、クリックハンドラーに直接チェーンします。

または、モダナイザーと組み合わせて<html class="no-js">使用すると、CSSは次のようになります。

.js li { cursor: pointer; }




12

単に次のようなことをしてください:

li { 
  cursor: pointer;
}

コードに適用して、動作を確認します。

li {
  cursor: pointer;
}
<ul>
  <li>foo</li>
  <li>goo</li>
</ul>

注:また、カスタマイズしたカーソルでハンドカーソルを作成できることも忘れないでください。たとえば、次のようなお気に入りのハンドアイコンを作成できます。

div {
  display: block;
  width: 400px;
  height: 400px;
  background: red;
  cursor: url(http://findicons.com/files/icons/1840/free_style/128/hand.png) 4 12, auto;
}
<div>
</div>


11

何でも「mousechange」扱いにするために、CSSクラスを追加できます。

.mousechange:hover {
  cursor: pointer;
}
<span class="mousechange">Some text here</span>

cursor:handInternet Explorer 5.5以下でのみ有効であり、Internet Explorer 6にはWindows XP(2002)が付属しているため、使用するつもりはありません。アップグレードのヒントは、ブラウザが機能しなくなったときにのみ表示されます。さらに、Visual Studioでは、そのエントリに赤い下線が引かれます。それは私に伝えます:

検証(CSS 3.0):「ハンド」は「カーソル」プロパティの有効な値ではありません



9

他のすべての応答は、標準のCSSポインターの使用を提案していますが、2つの方法があります。

  1. CSSプロパティcursor:pointer;を要素に適用します。(これは、カーソルをボタンの上に置いたときのデフォルトのスタイルです。)

  2. cursor:url(pointer.png);ポインターにカスタムグラフィックを使用してCSSプロパティを適用します。これは、ユーザーエクスペリエンスがすべてのプラットフォームで同じであることを確認したい場合(ブラウザー/ OSにポインターカーソルの外観を決定させるのではなく)より望ましい場合があります。画像が見つからない場合に備えて、代替URLやその他のオプションなど、代替オプションが追加される場合があります。cursor:url(pointer.png,fallback.png,pointer);

もちろん、これらはこの方法li{cursor:pointer;}で、クラス.class{cursor:pointer;}として、または各要素のスタイル属性の値としてリスト項目に適用できますstyle="cursor:pointer;"



5

次のいずれかを使用できます。

li:hover
{
 cursor: pointer;
}

または

li
{
 cursor: pointer;
}

実施例1:

    li:hover
    {
     cursor: pointer;
    }
<ul>
  <li>foo</li>
  <li>bar</li>
</ul>

実施例2:

    li
    {
     cursor: pointer;
    }
<ul>
  <li>foo</li>
  <li>bar</li>
</ul>



3

基本的な手の記号の場合:

試す

cursor: pointer 

アイテムをドラッグアンドドロップするような手の記号が必要な場合は、以下を試してください。

cursor: grab


2

HTMLハックの使用

注:これは悪い習慣と見なされているためお勧めしません

href属性を含むアンカータグでコンテンツをラップするcursor: pointer;と、アンカープロパティの副作用を伴うプロパティを明示的に適用しなくても機能します(CSSで修正)。

<a href="#" style="text-decoration: initial; color: initial;"><div>This is bad practice, but it works.</div></a>


1
これは機能しませ。アンカータグには、hrefがある場合、下線と異なる色のポインターカーソルしかありません。
Artyer 2017

1
「ユーザーがリストアイテムの上にカーソルを置いたときにカーソルを手にするにはどうすればよいですか?」-この特定の質問については、そうです。しかし、@ sandroocoが指摘したように、良い方法ではありません。
Rohit Nair 2017年

1

以下を確認してください。W3Schoolsから入手します。

<!DOCTYPE html>
<html>
    <head>
        <style>
        .alias {cursor: alias;}
        .all-scroll {cursor: all-scroll;}
        .auto {cursor: auto;}
        .cell {cursor: cell;}
        .context-menu {cursor: context-menu;}
        .col-resize {cursor: col-resize;}
        .copy {cursor: copy;}
        .crosshair {cursor: crosshair;}
        .default {cursor: default;}
        .e-resize {cursor: e-resize;}
        .ew-resize {cursor: ew-resize;}
        .grab {cursor: -webkit-grab; cursor: grab;}
        .grabbing {cursor: -webkit-grabbing; cursor: grabbing;}
        .help {cursor: help;}
        .move {cursor: move;}
        .n-resize {cursor: n-resize;}
        .ne-resize {cursor: ne-resize;}
        .nesw-resize {cursor: nesw-resize;}
        .ns-resize {cursor: ns-resize;}
        .nw-resize {cursor: nw-resize;}
        .nwse-resize {cursor: nwse-resize;}
        .no-drop {cursor: no-drop;}
        .none {cursor: none;}
        .not-allowed {cursor: not-allowed;}
        .pointer {cursor: pointer;}
        .progress {cursor: progress;}
        .row-resize {cursor: row-resize;}
        .s-resize {cursor: s-resize;}
        .se-resize {cursor: se-resize;}
        .sw-resize {cursor: sw-resize;}
        .text {cursor: text;}
        .url {cursor: url(myBall.cur),auto;}
        .w-resize {cursor: w-resize;}
        .wait {cursor: wait;}
        .zoom-in {cursor: zoom-in;}
        .zoom-out {cursor: zoom-out;}
        </style>
    </head>

    <body>
        <h1>The cursor property</h1>
        <p>Mouse over the words to change the mouse cursor.</p>

        <p class="alias">alias</p>
        <p class="all-scroll">all-scroll</p>
        <p class="auto">auto</p>
        <p class="cell">cell</p>
        <p class="context-menu">context-menu</p>
        <p class="col-resize">col-resize</p>
        <p class="copy">copy</p>
        <p class="crosshair">crosshair</p>
        <p class="default">default</p>
        <p class="e-resize">e-resize</p>
        <p class="ew-resize">ew-resize</p>
        <p class="grab">grab</p>
        <p class="grabbing">grabbing</p>
        <p class="help">help</p>
        <p class="move">move</p>
        <p class="n-resize">n-resize</p>
        <p class="ne-resize">ne-resize</p>
        <p class="nesw-resize">nesw-resize</p>
        <p class="ns-resize">ns-resize</p>
        <p class="nw-resize">nw-resize</p>
        <p class="nwse-resize">nwse-resize</p>
        <p class="no-drop">no-drop</p>
        <p class="none">none</p>
        <p class="not-allowed">not-allowed</p>
        <p class="pointer">pointer</p>
        <p class="progress">progress</p>
        <p class="row-resize">row-resize</p>
        <p class="s-resize">s-resize</p>
        <p class="se-resize">se-resize</p>
        <p class="sw-resize">sw-resize</p>
        <p class="text">text</p>
        <p class="url">url</p>
        <p class="w-resize">w-resize</p>
        <p class="wait">wait</p>
        <p class="zoom-in">zoom-in</p>
        <p class="zoom-out">zoom-out</p>
    </body>
</html>

0

CSSを使用してカーソルポインターのカスタマイズを設定するだけ

https://developer.mozilla.org/en-US/docs/Web/CSS/cursor


/* Keyword value */
cursor: pointer;
cursor: auto;

/* URL, with a keyword fallback */
cursor: url(hand.cur), pointer;

/* URL and coordinates, with a keyword fallback */
cursor: url(cursor1.png) 4 12, auto;
cursor: url(cursor2.png) 2 2, pointer;

/* Global values */
cursor: inherit;
cursor: initial;
cursor: unset;

デモ

<ul>
  <li>a</li>
  <li>b</li>
  <li>c</li>
</ul>

hand.cur画像

li:hover{
   cursor: url("../icons/hand.cur"), pointer;
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.