2201

我有一个列表,并且我有一个用于其项目的点击处理程序:

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

如何将鼠标指针更改为手形指针(例如悬停在按钮上时)?现在,当我将鼠标悬停在列表项上时,指针变成了文本选择指针。

4

25 回答 25

3609

正如人们所提到的,随着时间的推移,您现在可以安全地使用:

li { cursor: pointer; }
于 2010-06-21T19:50:20.947 回答
449

用于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>

于 2017-01-04T11:21:43.123 回答
174

您不需要 jQuery,只需使用以下 CSS 内容:

li {cursor: pointer}

瞧!便利。

于 2010-06-21T19:47:29.150 回答
80

采用:

li:hover {
    cursor: pointer;
}

可以在此处查看当前 HTML 规范的其他有效值hand不是) 。

于 2013-01-07T11:50:38.627 回答
46

采用

cursor: pointer;
cursor: hand;

如果你想要一个跨浏览器的结果!

于 2011-10-27T07:34:15.840 回答
43

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;
}
于 2014-09-11T07:51:40.390 回答
22

我认为仅在 JavaScript 可用时才显示手形/指针光标会很聪明。所以人们不会觉得他们可以点击不可点击的东西。

为此,您可以使用 JavaScript 库 jQuery 将 CSS 添加到元素中,如下所示

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

或者将其直接链接到点击处理程序。

或者当结合使用modernizer<html class="no-js">时,CSS 看起来像这样:

.js li { cursor: pointer; }
于 2014-03-02T12:40:38.977 回答
20
li:hover {cursor: hand; cursor: pointer;}
于 2013-06-05T21:52:13.307 回答
20

只是为了完整性:

cursor: -webkit-grab;

它还提供了帮助,即您在移动图像视图时所知道的。

如果您想使用 jQuery 和 mousedown模拟抓取行为,这将非常有用。

在此处输入图像描述

于 2016-08-18T15:19:56.013 回答
18

对于完整的跨浏览器,请使用:

cursor: pointer;
cursor: hand;
于 2012-12-05T19:46:00.150 回答
13

为了能够使任何东西获得“鼠标更改”处理,您可以添加一个 CSS 类:

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

我不会说要使用cursor:hand,因为它只对 Internet Explorer 5.5 及以下版本有效,而 Internet Explorer 6 随 Windows XP (2002) 一起提供。当他们的浏览器停止为他们工作时,人们只会得到升级的提示。此外,在 Visual Studio 中,它将为该条目添加红色下划线。它告诉我:

验证 (CSS 3.0):“手”不是“光标”属性的有效值

于 2014-07-23T02:25:05.883 回答
13

只需执行以下操作:

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>

于 2017-06-21T12:50:30.140 回答
11
ul li:hover{
   cursor: pointer;
}
于 2014-12-21T18:34:42.120 回答
10

所有其他响应都建议使用标准 CSS 指针,但是,有两种方法:

  1. 将 CSS 属性cursor:pointer;应用于元素。(这是光标悬停在按钮上时的默认样式。)

  2. cursor:url(pointer.png);使用自定义图形为您的指针应用 CSS 属性。如果您想确保用户体验在所有平台上都相同(而不是让浏览器/操作系统决定您的指针光标应该是什么样子),这可能更可取。请注意,如果找不到图像,可能会添加后备选项,包括辅助 url 或任何其他选项,即cursor:url(pointer.png,fallback.png,pointer);

当然,这些可以以这种方式应用于列表项li{cursor:pointer;},作为一个类.class{cursor:pointer;},或者作为每个元素的样式属性的值style="cursor:pointer;"

于 2016-02-27T05:25:48.360 回答
9

采用:

ul li:hover{
   cursor: pointer;
}

有关更多鼠标事件,请查看CSS 光标属性

于 2016-02-03T06:48:18.620 回答
8

您可以在悬停时更改它,也可以只cursor:pointer在列表项上指定,两者都可以。

ul li {
  cursor: pointer;
}

或者

ul li:hover {
  cursor: pointer;
}
于 2021-07-21T09:33:08.550 回答
6

您可以使用以下方法之一:

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>

于 2018-05-13T10:29:06.867 回答
4

对于基本手形符号:

尝试

cursor: pointer 

如果您想要一个手形符号,例如拖放某个项目并放下它,请尝试:

cursor: grab
于 2015-12-24T04:13:02.833 回答
4

使用 HTML Hack

注意:不建议这样做,因为它被认为是不好的做法

将内容包装在包含href属性的锚标记中将起作用,而无需显式应用cursor: pointer;具有锚属性副作用的属性(用 CSS 修改):

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

于 2016-06-19T11:19:03.063 回答
4

您还可以使用以下样式:

li {
    cursor: grabbing;
}
于 2017-09-14T11:22:44.740 回答
4

您可以使用以下代码:

li:hover { cursor: pointer; }

于 2018-06-06T09:54:50.740 回答
2

检查以下内容。我从W3Schools得到它。

.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; }
<!DOCTYPE html>
<html>

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

于 2018-09-29T05:48:52.273 回答
2

只需使用 CSS 设置自定义光标指针


/* 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;

/* 2 URLs and coordinates, with a keyword fallback */

cursor: url(one.svg) 2 2, url(two.svg) 5 5, progress;

演示

注意:光标支持多种格式图标!

比如.cur, .png, .svg, .jpeg, .webp,等等

li:hover{
  cursor: url("https://cdn.xgqfrms.xyz/cursor/mouse.cur"), pointer;
  color: #0f0;
  background: #000;
}


/*

li:hover{
  cursor: url("../icons/hand.cur"), pointer;
}

*/

li{
  height: 30px;
  width: 100px;
  background: #ccc;
  color: #fff;
  margin: 10px;
  text-align: center;
  list-style: none;
}
<ul>
  <li>a</li>
  <li>b</li>
  <li>c</li>
</ul>

参考

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

于 2019-08-29T09:48:15.423 回答
1
<style>
.para{
    color: black;
}
.para:hover{
    cursor: pointer;
    color: blue;
}
</style>
<div class="para">

在上面的 HTML 代码中,[:hover] 用于指示以下样式必须仅应用于悬停或保持鼠标光标在其上。

CSS 中有几种类型的游标可用:

查看以下光标类型的代码:

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

单击下面的链接以查看 cursor 属性的作用:

https://www.w3schools.com/cssref/tryit.asp?filename=trycss_cursor

于 2020-07-04T05:54:55.323 回答
1

简单地说一下这段代码。

li{cursor: pointer;}
于 2021-11-25T08:23:10.940 回答