Jak Mogę ustawić kursor na rękę, gdy użytkownik znajduje się nad elementem listy?

Mam listę i mam obsługę kliknięć dla jej elementów:

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

Jak zmienić wskaźnik myszy na wskaźnik dłoni (np. gdy najedziesz kursorem na przycisk)? Teraz wskaźnik zmienia się w wskaźnik zaznaczenia tekstu, gdy najeżdżam kursorem na elementy listy.

 1591
css
Author: Josh Crozier, 2010-06-21

22 answers

W świetle upływu czasu, jak ludzie wspominali, możesz teraz bezpiecznie używać:

li { cursor: pointer; }
 2686
Author: Aren,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-28 23:27:45

Użyj dla li

li:hover{
 cursor: pointer;
}

Zobacz więcej właściwość cursor z przykładem po uruchomieniu opcji snippet.

Tutaj wpisz opis obrazka

.auto            { cursor: auto; }
.deafult         { 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>
 154
Author: Santosh Khalse,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-19 11:17:21

Nie wymagasz do tego jQuery, po prostu użyj następującego css:

li {cursor: pointer}
I voila! Poręczne.
 138
Author: Denis 'Alpheus' Cahuk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-06-21 20:02:51
li:hover {
    cursor: pointer;
}

Inne ważne wartości (które hand to , a nie) dla bieżącej specyfikacji HTML można wyświetlić tutaj .

 72
Author: Alastair,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-01-07 11:50:38

Użyj

cursor: pointer;
cursor: hand;

Jeśli chcesz mieć wynik crossbrowser!

 38
Author: biancardi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-27 07:34:15

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; }

Możesz również mieć kursor jako obrazek:

.img-cur {
   cursor: url(images/cursor.png), auto;
}
 33
Author: Hashmap,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-05 11:21:52
li:hover {cursor: hand; cursor: pointer;}
 16
Author: Xedret,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-05 21:52:13

Myślę, że byłoby mądrze pokazywać kursor ręki/wskaźnika tylko wtedy, gdy javascript jest dostępny. Więc ludzie nie będą mieli poczucia, że mogą kliknąć coś, co nie jest klikalne.

Aby to osiągnąć, możesz użyć javascript, aby dodać css do elementu tak

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

Lub połącz go bezpośrednio z obsługą kliknięć.

Lub gdy używany jest modernizer w połączeniu z <html class="no-js">, css wyglądałby tak

.js li { cursor: pointer; }
 16
Author: Christoph,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-11 09:12:38

Ten wątek wymyka się spod kontroli, szybko przeszedł od kursorów do instrumentów smyczkowych. :)

Na szczęście Google zawsze wysyła mnie tutaj, gdy potrzebuję szybkiego przypomnienia, dla pełnego cross browser, użyj:

cursor: pointer;
cursor: hand;
 15
Author: Erich Toven,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-05 19:46:00

Tylko dla kompletności:

cursor: -webkit-grab;

Daje również rękę, którą znasz podczas przesuwania widoku obrazu.

Całkiem przydatne, jeśli chcesz emulować zachowanie grab używając jquery i mousedown.

Tutaj wpisz opis obrazka

 14
Author: Kai Noack,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-18 15:30:13
ul li:hover{
   cursor: pointer;
}
 8
Author: user3776645,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-21 18:34:42

Aby móc sprawić, że cokolwiek stanie się "mousechange", możesz dodać klasę CSS:

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

Nie powiedziałbym, aby używać cursor:hand, ponieważ było to ważne tylko dla IE 5.5 i poniżej, a IE 6 przyszedł z XP (2002). Ludzie otrzymają podpowiedź, aby uaktualnić tylko wtedy, gdy ich przeglądarka przestanie dla nich działać. Dodatkowo w Visual Studio na Czerwono podkreśli ten wpis. Mówi mi:

Walidacja (CSS 3.0): "hand" nie jest poprawną wartością dla "kursor" własność

 8
Author: vapcguy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-20 19:23:23

Po prostu zrób coś takiego:

li { 
  cursor: pointer;
}

Stosuję go na Twoim kodzie, aby zobaczyć, jak to działa:

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

Uwaga: również nie zapominaj, że możesz mieć dowolny kursor z niestandardowym kursorem, możesz utworzyć ikonę ulubionych dłoni, taką jak ta na przykład:

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>
 8
Author: Alireza,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-25 05:14:37
ul li:hover{
   cursor: pointer;
}

Aby uzyskać więcej zdarzeń myszy sprawdź właściwość CSS cursor

 6
Author: Masoud Mustamandi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-03 06:48:18

Wszystkie inne odpowiedzi sugerują użycie standardowego wskaźnika CSS, jednak istnieją dwie metody:

  1. Zastosuj właściwość CSS cursor:pointer; do elementów. (Jest to domyślny styl, gdy kursor znajduje się nad przyciskiem.)

  2. Zastosuj właściwość CSS cursor:url(pointer.png); za pomocą niestandardowej grafiki dla wskaźnika. Może to być bardziej pożądane, jeśli chcesz mieć pewność, że doświadczenie użytkownika jest identyczne na wszystkich platformach (zamiast zezwalać przeglądarce / OS zdecydować, jaki wskaźnik kursor powinien wyglądać). Zauważ, że opcje awaryjne mogą być dodane w przypadku, gdy obraz nie został znaleziony, w tym drugorzędne adresy URL lub którejkolwiek z innych opcji, np. cursor:url(pointer.png,fallback.png,pointer);

Oczywiście mogą one być stosowane do elementów listy w ten sposób li{cursor:pointer;}, jako klasa .class{cursor:pointer;} lub jako wartość atrybutu stylu każdego elementu style="cursor:pointer;".

 6
Author: Andrew,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-27 05:25:48

Możesz użyć jednej z następujących opcji:

li:hover
{
 cursor: pointer;
}

Lub

li
{
 cursor: pointer;
}

Przykład roboczy 1:

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

Przykład roboczy 2:

    li
    {
     cursor: pointer;
    }
<ul>
  <li>foo</li>
  <li>bar</li>
</ul>
 3
Author: willy wonka,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-13 10:29:06

Dla podstawowego symbolu ręki: try

cursor:pointer 

Jeśli chcesz mieć symbol ręki, jak przeciągnij jakiś przedmiot i upuść go,

Try

cursor:grab
 2
Author: Nalan Madheswaran,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-24 04:13:02

Możesz również użyć następującego stylu

li {
      cursor: grabbing;
   }
 1
Author: Ankit Misra,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-14 11:22:44

Możesz użyć poniższego kodu

Li: hover { cursor: pointer;}

 0
Author: Captain JK,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-06 09:54:50

Używanie Hacka HTML

UWAGA: nie jest to zalecane, ponieważ jest uważane za złą praktykę

Owijanie zawartości znacznikiem kotwicy zawierającym atrybut href będzie działać bez jawnego stosowania właściwości cursor: pointer; z efektem ubocznym właściwości kotwicy (zmienionym CSS):

<a href="#" style="text-decoration: initial; color: initial;"><div>This is bad practice, but it works.</div></a>
 0
Author: Rohit Nair,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-09 11:28:10

Zobacz to, dostaję to od w3schools.com dzięki.

<!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
Author: Y. Joy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-29 05:48:52

To powinno zadziałać

<style>
li:hover{
    cursor: hand;
}
</style>
 -3
Author: Tobsta,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-07 03:50:57