사용자가 목록 항목 위로 마우스를 가져 가면 커서를 손으로 만듭니다.


1957

목록이 있고 항목에 대한 클릭 핸들러가 있습니다.

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

마우스 포인터를 손 모양 포인터로 바꾸려면 어떻게해야합니까 (예 : 단추 위로 마우스를 가져갈 때)? 목록 항목 위로 마우스를 가져 가면 포인터가 텍스트 선택 포인터로 바뀝니다.


52
참고로, "jquery"를 제거하고 "css"를 추가하여 질문의 성격과 답변에보다 정확하게 반영하여 질문에 태그를 다시 작성했습니다.
Christopher Parker

4
커서를 손과 CSS로 사용할 수있는 다른 아이콘으로 변경하기위한 참조 목록입니다. javascriptkit.com/dhtmltutors/csscursors.shtml
Neil

3
JavaScript로 추가 된 클릭 핸들러가있는 경우 마우스 포인터의 CSS도 JavaScript로 추가해야합니다. 따라서 사용자는 불가능한 곳을 클릭 할 수 있다고 생각하지 않습니다. 이에 대한 적절한 답변 을 추가했습니다 .
Christoph

당신은 시도해 봤어cursor: grab
devssh

답변:


3251

사람들이 언급했듯이 시간이 지남에 따라 이제 다음을 안전하게 사용할 수 있습니다.

li { cursor: pointer; }

212
단지하고 있다는 지적이의 가치는 cursor: pointer: IE 5.5 이상 모두를위한 좋은 충분하다 quirksmode.org/css/cursor.html
ripper234

19
포인터! = 커서와 손! = 포인터, 혼란에 더 많은 것을 추가하는 것은 재미있다. :)
Henrik Erlandsson

22
참고로, quirksmode.org/css/user-interface/cursor.html#note (이전 설명에서 언급)는 손이 포인터 뒤에 와야한다고 말합니다 . 난 그냥 포인터를 사용하는 것이 좋습니다
-IE

2
@EdwardBlack 그것은 표준을 준수하지 않는 이상한 브라우저에 필요 했었습니다. pointer이 질문은 5 년이 지난 btw 이상인 새로운 방법을 반영하기 위해 오래 전에 업데이트되었습니다 .
Aren

과연. IE5 호환 모드에서 IE를 실행하더라도 cursor:pointer여전히 작동합니다. 따라서 사용할 핑계가 cursor:hand있다면 더 이상 없습니다.
Mr Lister

335

에 사용 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>


주제에서, 어떤 소프트웨어를 사용하여 해당 gif 애니메이션을 사용 했습니까? Waiting .. @ Santosh Khalse
fWd82

3
@ fWd82 확인 ShareX-GIF를 기록
숨겨진

이것이 커서의 유용한 알림이라고 생각하고 코드를 도구로 추가했습니다. 다음은 위의 코드에 대한 링크는 다음과 같습니다 spragucm.com/web-css-cursor-pointers
크리스 스프

1
멋진 애니메이션! @ fWd82-Peek은 화면 영역의 gif를 기록하는 데에도 좋습니다. github.com/phw/peek
가을 레너드

1
하-이것은 훌륭하다! 감사합니다 @ santosh-khalse
sufinawaz

156

이를 위해 jQuery가 필요하지 않으며 다음 CSS 컨텐츠를 사용하십시오.

li {cursor: pointer}

그리고 voilà! 능숙한.


1
능숙한? 흠 ... 여러분이 무엇을했는지 봅니다, @ denis-alpheus-cahuk
osiris

78

사용하다:

li:hover {
    cursor: pointer;
}

다른 유효한 값 (이 hand입니다 하지 현재 HTML 규격에 대한)을 볼 수 있습니다 여기에 .


13
:hover이 경우 의사 클래스 의 사용이 무엇인지 이해하지 못합니다 . 마우스로 요소를 가리 키지 않을 때 다른 커서를 지정하면 어떤 이점이 있습니까? 또한 li:hoverIE6에서 작동하지 않는다는 것을 읽었습니다 .
Robert

1
:hover@Robert는 특정 성을위한 것이라고 가정 합니다. MSIE의 모든 버전에서 지원을 테스트 할 수 없습니다. 죄송하지만 작동하지 않더라도 놀라지 않습니다! : P
Alastair

hand작동하지 않더라도 최고의 답변에 있는가?
Black

1
@EdwardBlack cursor: hand은 더 이상 사용되지 않으며 CSS 사양에는 없습니다. 그것은 ie5-6 시대와 같습니다. 만 사용하십시오 pointer.
northamerican

43

사용하다

cursor: pointer;
cursor: hand;

크로스 브라우저 결과를 원한다면!


7
이것은 2018이며 커서 : 브라우저 간 개발에 더 이상 커서가 필요하지 않습니까?
Haramoz

41

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

7
질문에 대한 답변이 아닙니다.

9
이것은 아마도 질문에 대한 직접적인 대답은 아니지만 매우 좋은 지침입니다. 그건 그렇고 감사합니다!
chitcharonko 2

20

JavaScript를 사용할 수있을 때 손 / 포인터 커서 만 표시하는 것이 현명하다고 생각합니다. 따라서 사람들은 클릭 할 수없는 무언가를 클릭 할 수 있다는 느낌을 갖지 못할 것입니다.

자바 스크립트 라이브러리 jQuery를 사용하여 CSS를 요소에 추가 할 수 있습니다.

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

또는 클릭 핸들러에 직접 연결하십시오.

또는 Modernizer 와 함께 <html class="no-js">사용하면 CSS는 다음과 같습니다.

.js li { cursor: pointer; }


17

완전성을 위해 :

cursor: -webkit-grab;

또한 이미지의 뷰를 움직일 때 알고있는 손을 제공합니다.

jQuery와 mousedown을 사용하여 잡기 동작에뮬레이션 하려는 경우 매우 유용합니다 .

여기에 이미지 설명을 입력하십시오


16

완벽한 크로스 브라우저를 위해 다음을 사용하십시오.

cursor: pointer;
cursor: hand;

12

간단히 다음과 같이하십시오.

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>


11

무엇이든 "mousechange"처리를 할 수 있도록 CSS 클래스를 추가 할 수 있습니다.

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

cursor:handInternet Explorer 5.5 이하에서만 유효하고 Internet Explorer 6에는 Windows XP (2002)가 포함 되어 있으므로 사용하고 싶지 않습니다 . 사람들은 브라우저가 작동하지 않을 때만 업그레이드 할 힌트를 얻습니다. 또한 Visual Studio에서는 해당 항목에 빨간색 밑줄이 표시됩니다. 그것은 나에게 말한다 :

유효성 검사 (CSS 3.0) : "hand"는 "cursor"속성에 유효한 값이 아닙니다.



9

다른 모든 응답은 표준 CSS 포인터를 사용하는 것이 좋지만 두 가지 방법이 있습니다.

  1. CSS 속성 cursor:pointer;을 요소에 적용하십시오 . (이것은 커서가 버튼 위에있을 때의 기본 스타일입니다.)

  2. cursor:url(pointer.png);포인터에 대한 사용자 정의 그래픽을 사용하여 CSS 특성 을 적용하십시오 . 이는 브라우저 / OS가 포인터 커서의 모양을 결정할 수 있도록하는 대신 모든 플랫폼에서 사용자 경험이 동일하도록하려면 더 바람직 할 수 있습니다. 보조 URL 또는 다른 옵션을 포함하여 이미지를 찾을 수없는 경우 대체 옵션이 추가 될 수 있습니다.cursor:url(pointer.png,fallback.png,pointer);

물론 이것은 이러한 방식으로 목록 항목에 li{cursor:pointer;}클래스 .class{cursor:pointer;}또는 각 요소의 스타일 속성 값 으로 적용될 수 있습니다 style="cursor:pointer;".



5

다음 중 하나를 사용할 수 있습니다.

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>


3

아래 코드를 사용할 수 있습니다 :

li:hover { cursor: pointer; }


3

기본 손 모양의 경우 :

시험

cursor: pointer 

항목을 드래그 앤 드롭하는 것과 같은 손 모양 기호를 원하면 다음을 시도하십시오.

cursor: grab


2

HTML 해킹 사용

참고 : 이것은 나쁜 습관으로 간주되므로 권장하지 않습니다

href속성을 포함하는 앵커 태그에 내용을 래핑하면 앵커 cursor: pointer;속성의 부작용으로 CSS를 수정 하여 속성을 명시 적으로 적용하지 않고도 작동합니다 .

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


1
작동 하지 않습니다 . 앵커 태그에는 밑줄이 있고 포인터 색상이 다른 포인터 커서 만 있습니다.
Artyer

1
"사용자가 목록 항목을 가리킬 때 커서를 손으로 만들 수 있습니까?" -이 특정한 질문에 대해서는 그렇지 않습니다. 그러나 @sandrooco가 지적한 것처럼 좋은 습관은 아닙니다.
Rohit Nair

1

다음을 확인하십시오. 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>

0

CSS를 사용하여 커서 포인터를 사용자 정의하십시오.

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;
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.