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


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.