ฉันมีรายการและมีตัวจัดการคลิกสำหรับรายการ:
<ul>
<li>foo</li>
<li>goo</li>
</ul>
ฉันจะเปลี่ยนตัวชี้เมาส์เป็นตัวชี้มือได้อย่างไร (เช่นเมื่อวางเมาส์เหนือปุ่ม) ตอนนี้ตัวชี้จะเปลี่ยนเป็นตัวชี้การเลือกข้อความเมื่อฉันวางเมาส์เหนือรายการ
cursor: grab
ฉันมีรายการและมีตัวจัดการคลิกสำหรับรายการ:
<ul>
<li>foo</li>
<li>goo</li>
</ul>
ฉันจะเปลี่ยนตัวชี้เมาส์เป็นตัวชี้มือได้อย่างไร (เช่นเมื่อวางเมาส์เหนือปุ่ม) ตอนนี้ตัวชี้จะเปลี่ยนเป็นตัวชี้การเลือกข้อความเมื่อฉันวางเมาส์เหนือรายการ
cursor: grab
คำตอบ:
เมื่อเวลาผ่านไปตามที่คนอื่นพูดคุณสามารถใช้งานได้อย่างปลอดภัย:
li { cursor: pointer; }
cursor: pointerนั้นดีพอสำหรับทุกอย่างที่เหนือ IE 5.5: quirksmode.org/css/cursor.html
pointerคำถามนี้มีอายุมากกว่า 5 ปี btw
cursor:pointerก็ยังใช้งานได้ ดังนั้นหากมีข้อแก้ตัวในการใช้งานcursor:handจะไม่มีอีกต่อไป
ใช้สำหรับli:
li:hover {
cursor: pointer;
}
ดูคุณสมบัติเคอร์เซอร์เพิ่มเติมพร้อมตัวอย่างหลังจากเรียกใช้ตัวเลือกตัวอย่าง:
.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>
คุณไม่ต้องการ jQuery สำหรับสิ่งนี้เพียงใช้เนื้อหา CSS ต่อไปนี้:
li {cursor: pointer}
และvoilà! มีประโยชน์
ใช้:
li:hover {
cursor: pointer;
}
ค่าที่ถูกต้องอื่น ๆ (ซึ่งhandเป็นไม่ได้ ) สำหรับสเปค HTML ปัจจุบันสามารถดูได้ที่นี่
:hoverคลาสหลอกในกรณีนี้คืออะไร มีประโยชน์สำหรับการระบุเคอร์เซอร์ที่แตกต่างกันเมื่อเมาส์ไม่ได้เลื่อนองค์ประกอบ? นอกจากนี้ฉันอ่านที่li:hoverไม่ทำงานใน IE6
:hoverเป็นเพียงเพื่อความจำเพาะ @Robert ฉันไม่สามารถทดสอบการสนับสนุนใน MSIE เวอร์ชันใด ๆ ขออภัย แต่จะไม่ทำให้ฉันประหลาดใจถ้ามันไม่ทำงาน! : P
handในคำตอบที่ดีที่สุดถึงแม้ว่ามันจะไม่ทำงานก็ตาม
cursor: handเลิกใช้แล้วและไม่ได้อยู่ในข้อมูลจำเพาะ css มันเหมือนจากยุค ie5-6 pointerใช้เพียง
ใช้
cursor: pointer;
cursor: hand;
หากคุณต้องการมีผล crossbrowser!
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;
}
ฉันคิดว่ามันจะฉลาดที่จะแสดงเฉพาะเคอร์เซอร์มือ / ตัวชี้เมื่อมีจาวาสคริปต์ ดังนั้นผู้คนจะไม่รู้สึกว่าพวกเขาสามารถคลิกที่สิ่งที่ไม่สามารถคลิกได้
เพื่อให้บรรลุว่าคุณสามารถใช้ JavaScript libary jQuery เพื่อเพิ่ม CSS ให้กับองค์ประกอบเช่นนั้น
$("li").css({"cursor":"pointer"});
หรือโยงโดยตรงกับตัวจัดการคลิก
หรือเมื่อใช้modernizerร่วมกับการ<html class="no-js">ใช้ CSS จะมีลักษณะเช่นนี้:
.js li { cursor: pointer; }
li:hover {cursor: hand; cursor: pointer;}
เพียงเพื่อความสมบูรณ์:
cursor: -webkit-grab;
มันยังช่วยให้มือคนที่คุณรู้เมื่อย้ายมุมมองของภาพ
มันค่อนข้างมีประโยชน์ถ้าคุณต้องการเลียนแบบพฤติกรรมการใช้ jQuery และ mousedown
สำหรับเบราว์เซอร์ที่สมบูรณ์ให้ใช้:
cursor: pointer;
cursor: hand;
เพียงแค่ทำสิ่งนี้:
li {
cursor: pointer;
}
ฉันใช้มันในรหัสของคุณเพื่อดูว่ามันทำงานอย่างไร:
หมายเหตุ:นอกจากนี้อย่าลืมว่าคุณสามารถมีเคอร์เซอร์มือพร้อมเคอร์เซอร์ที่กำหนดเองคุณสามารถสร้างไอคอนมือที่ชอบเช่นนี้:
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>
สำหรับความสามารถในการทำทุกอย่างเพื่อให้ได้รับการ "mousechange" คุณสามารถเพิ่มคลาส 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): "hand" ไม่ใช่ค่าที่ถูกต้องสำหรับคุณสมบัติ "เคอร์เซอร์"
ul li:hover{
cursor: pointer;
}
คำตอบอื่น ๆ ทั้งหมดแนะนำให้ใช้ตัวชี้ CSS มาตรฐานอย่างไรก็ตามมีสองวิธี:
ใช้คุณสมบัติ CSS cursor:pointer;กับองค์ประกอบ (นี่เป็นรูปแบบเริ่มต้นเมื่อเคอร์เซอร์วางอยู่เหนือปุ่ม)
ใช้คุณสมบัติ CSS cursor:url(pointer.png);โดยใช้กราฟิกที่กำหนดเองสำหรับตัวชี้ของคุณ สิ่งนี้อาจเป็นที่ต้องการมากกว่าถ้าคุณต้องการให้แน่ใจว่าประสบการณ์ผู้ใช้เหมือนกันในทุกแพลตฟอร์ม (แทนที่จะอนุญาตให้เบราว์เซอร์ / ระบบปฏิบัติการตัดสินว่าเคอร์เซอร์ตัวชี้ของคุณควรมีลักษณะอย่างไร) โปรดทราบว่าอาจมีการเพิ่มตัวเลือกสำรองในกรณีที่ไม่พบรูปภาพรวมถึง URL รองหรือตัวเลือกอื่น ๆ เช่นcursor:url(pointer.png,fallback.png,pointer);
ของหลักสูตรเหล่านี้อาจถูกนำไปใช้กับรายการในลักษณะนี้li{cursor:pointer;}เป็นชั้นเรียนหรือเป็นค่าสำหรับแอตทริบิวต์รูปแบบของแต่ละองค์ประกอบ.class{cursor:pointer;}style="cursor:pointer;"
คุณสามารถใช้วิธีใดวิธีหนึ่งต่อไปนี้:
li:hover
{
cursor: pointer;
}
หรือ
li
{
cursor: pointer;
}
ตัวอย่างการทำงาน 1:
ตัวอย่างการทำงาน 2:
คุณสามารถใช้รหัสด้านล่าง:
li:hover { cursor: pointer; }
สำหรับสัญลักษณ์มือพื้นฐาน:
ลอง
cursor: pointer
หากคุณต้องการสัญลักษณ์มือเช่นลากบางรายการและวางมันลอง:
cursor: grab
คุณยังสามารถใช้สไตล์ดังต่อไปนี้:
li {
cursor: grabbing;
}
หมายเหตุ: ไม่แนะนำให้ทำเช่นนี้เพราะถือว่าเป็นการปฏิบัติที่ไม่ดี
การห่อเนื้อหาในแท็กจุดยึดที่มีhrefแอตทริบิวต์จะทำงานโดยไม่ต้องใช้cursor: pointer;คุณสมบัติอย่างชัดเจนด้วยผลข้างเคียงของคุณสมบัติจุดยึด (แก้ไขด้วย CSS):
<a href="#" style="text-decoration: initial; color: initial;"><div>This is bad practice, but it works.</div></a>
ตรวจสอบดังต่อไปนี้ ฉันได้รับมันจาก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>
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;
}