当用户hover在列表项目上时,如何让光标成为一只手?
我有一个列表,我有它的项目点击处理程序:
<ul> <li>foo</li> <li>goo</li> </ul>
如何将鼠标指针改为手形指针(就像当鼠标hover在button上一样)? 当我将鼠标hover在列表项目上时,指针变成文本select指针。
编辑:根据时间的推移,正如人们所提到的,你现在可以安全地使用:
li { cursor: pointer; }
你不需要这个jQuery,只需使用下面的CSS:
li {cursor: pointer}
瞧! 便利。
li:hover { cursor: pointer; }
当前HTML规范的其他有效值(哪些不是 )可以在这里查看。
用于李
li:hover{ cursor: pointer; }
运行snippet选项之后,以示例查看更多的游标属性。
.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>
使用
cursor: pointer; cursor: hand;
如果你想有一个交叉浏览器的结果!
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; }
li:hover {cursor: hand; cursor: pointer;}
我认为只有当javascript可用时才显示手形/指针光标将是明智的。 所以人们不会觉得他们可以点击一些不可点击的东西。
为了达到这个目的,你可以使用javascript将CSS添加到元素中
$("li").css({"cursor":"pointer"});
或直接链接到点击处理程序。
或者当使用modernizer和<html class="no-js">
,css看起来像这样
.js li { cursor: pointer; }
这个线程正在失控,它很快从游标变成了弦乐器。 🙂
值得庆幸的是,当我需要快速提醒时,Google总是把我送到这里,对于完整的跨浏览器,请使用:
cursor: pointer; cursor: hand;
只是为了完整:
cursor: -webkit-grab;
也给人一个手,你知道的时候移动一个图像的视图。
如果你想使用jquery和mousedown 模拟抓取行为,这是非常有用的。
ul li:hover{ cursor: pointer; }
ul li:hover{ cursor: pointer; }
更多鼠标事件检查CSS游标属性
所有其他的答案都build议使用标准的CSS指针,但是,有两种方法:
-
应用CSS属性
cursor:pointer;
到元素。 (这是光标hover在button上时的默认样式。) -
应用CSS属性
cursor:url(pointer.png);
使用自定义graphics作为指针。 如果你想确保所有平台上的用户体验都是相同的(而不是让浏览器/操作系统决定你的指针应该是什么样子的话),这可能会更好。 请注意,可能会添加后备选项,以防图像未find,包括二级地址或任何其他选项,如cursor:url(pointer.png,fallback.png,pointer);
当然这些可以以这种方式应用于列表项目li{cursor:pointer;}
,作为class .class{cursor:pointer;}
,或者作为每个元素的style属性的值style="cursor:pointer;"
。
为了能够使任何东西得到“mousechange”处理,你可以添加一个CSS类:
<style type="text/css"> .mousechange:hover { cursor:pointer; } </style> <span class="mousechange">Some text here</span>
我不会说使用cursor:hand
因为它只适用于IE 5.5及以下版本,而IE 6则使用XP(2002)。 当浏览器停止工作时,人们只会得到升级的提示。 此外,在Visual Studio中,它会红色的下划线 – 它告诉我“validation(CSS 3.0):”hand“不是”游标“属性的有效值。
为基本的手形符号:尝试
cursor:pointer
如果你想像手中的符号一样拖动一些项目,
尝试
cursor:grab
你也可以使用下面的样式
li { cursor: grabbing; }
只需要做这样的事情:
li { cursor: pointer; }
我申请你的代码,看看它是如何工作的:
li { cursor: pointer; }
<ul> <li>foo</li> <li>goo</li> </ul>
简单地不使用CSS或JS
用锚标签包装内容将做的工作….
<a><i class="uk-icon-hover uk-icon-info-circle uk-icon-medium" data-uk-tooltip="{pos:'right'}" title="Some Tooltip Here" aria-hidden="true"></i></a>
我希望这个作品….
这应该工作
<style> li:hover{ cursor: hand; } </style>