提问



我有一个列表,我的项目有一个点击处理程序:


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


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

最佳参考


根据人们提到的时间的推移,你现在可以安全地使用:


li { cursor: pointer; }

其它参考1


你不需要jQuery,只需使用以下css:


li {cursor: pointer}


瞧!便利。

其它参考2


用于李


li:hover{
 cursor: pointer;
}


运行代码段选项后,请参阅示例中的更多cursor属性。


[42]




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



li:hover {
    cursor: pointer;
}


可以在此处查看当前HTML规范的其他有效值(hand )。[43]

其它参考3


使用


cursor: pointer;
cursor: hand;


如果你想要一个crossbrowser结果!

其它参考4


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

其它参考5


这个线程失控,它很快从游标变为弦乐器。 :)


值得庆幸的是,当我需要快速提醒时,Google总是会将我发送到此处,对于完整的跨浏览器,请使用:


cursor: pointer;
cursor: hand;

其它参考6


li:hover {cursor: hand; cursor: pointer;}

其它参考7


我认为只有在javascript可用时才显示手/指针光标是明智的。所以人们不会觉得他们可以点击不可点击的东西。


为了实现这一点,你可以使用javascript将css添加到元素中


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


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


或者当使用现代化器与<html class="no-js">组合时,css看起来像这样[44]


.js li { cursor: pointer; }

其它参考8


只是为了完整性:


cursor: -webkit-grab;


也提供一只手,一个你在移动图像视图时所知道的一只手。


如果你想使用jquery和mousedown模拟抓取行为,那将非常有用。[45]


[46]

其它参考9


ul li:hover{
   cursor: pointer;
}

其它参考10


只需做这样的事情:


li { 
  cursor: pointer;
}


我将它应用于您的代码,看看它是如何工作的:




li {
  cursor: pointer;
}

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



ul li:hover{
   cursor: pointer;
}


更多鼠标事件检查CSS游标属性[47]

其它参考11


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



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

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



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

其它参考12


为了能够使任何东西得到鼠标变换处理,你可以添加一个CSS类:




.mousechange:hover {
  cursor: pointer;
}

<span class="mousechange">Some text here</span>



基本手形符号:
尝试


cursor:pointer 


如果你想要手动符号,如拖动一些项目并放下它,


尝试


cursor:grab

其它参考13


您还可以使用以下样式


li {
      cursor: grabbing;
   }

其它参考14


您可以使用以下之一:


li:hover
{
 cursor: pointer;
}


要么


li
{
 cursor: pointer;
}


工作示例1:




    li:hover
    {
     cursor: pointer;
    }

<ul>
  <li>foo</li>
  <li>bar</li>
</ul>



您可以使用以下代码


li:hover {cursor:pointer; }

其它参考15


使用HTML Hack



注意:不建议这样做,因为它被视为不良做法


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




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



这应该工作


<style>
li:hover{
    cursor: hand;
}
</style>