programing

커서 잡기(드래그 & 드롭)를 위한 CSS

powerit 2023. 10. 20. 14:51
반응형

커서 잡기(드래그 & 드롭)를 위한 CSS

사용자가 배경을 잡고 전체 화면을 이동해야 하는 자바스크립트 웹앱이 있습니다.그래서 저는 커서가 배경 위를 맴돌 때 바뀌었으면 좋겠어요. 그.-moz-grab그리고.-moz-grabbingCSS 커서가 이에 적합합니다.물론 파이어폭스에서만 작동합니다.다른 브라우저에 해당하는 커서가 있습니까?표준 CSS 커서보다 조금 더 맞춤형으로 해야 합니까?

다른 사람이 이 질문을 우연히 발견했을 경우, 아마도 다음과 같은 내용을 찾았을 것입니다.

.grabbable {
    cursor: move; /* fallback if grab cursor is unsupported */
    cursor: grab;
    cursor: -moz-grab;
    cursor: -webkit-grab;
}

 /* (Optional) Apply a "closed-hand" cursor during drag operation. */
.grabbable:active {
    cursor: grabbing;
    cursor: -moz-grabbing;
    cursor: -webkit-grabbing;
}

생각합니다move작업에 가장 가까운 표준 커서 값이 될 수 있습니다.

움직이다
이동할 내용을 나타냅니다.

CSS3 grab그리고.grabbing이제 에 대해 허용되는 값입니다.cursor. 사용자 지정 커서 파일을 포함한 크로스 브라우저 호환성 3에 대한 몇 가지 폴백을 제공하기 위해 완전한 솔루션은 다음과 같습니다.

.draggable {
    cursor: move; /* fallback: no `url()` support or images disabled */
    cursor: url(images/grab.cur); /* fallback: Internet Explorer */
    cursor: -webkit-grab; /* Chrome 1-21, Safari 4+ */
    cursor:    -moz-grab; /* Firefox 1.5-26 */
    cursor:         grab; /* W3C standards syntax, should come least */
}

.draggable:active {
    cursor: url(images/grabbing.cur);
    cursor: -webkit-grabbing;
    cursor:    -moz-grabbing;
    cursor:         grabbing;
}

업데이트 2019-10-07:

.draggable {
    cursor: move; /* fallback: no `url()` support or images disabled */
    cursor: url(images/grab.cur); /* fallback: Chrome 1-21, Firefox 1.5-26, Safari 4+, IE, Edge 12-14, Android 2.1-4.4.4 */
    cursor: grab; /* W3C standards syntax, all modern browser */
}

.draggable:active {
    cursor: url(images/grabbing.cur);
    cursor: grabbing;
}

CSS 커서보다 "more custom"은 어떤 유형의 플러그인을 의미하지만 CSS를 사용하여 자신의 커서를 완전히 지정할 수 있습니다.이 목록에 당신이 원하는 것이 있다고 생각합니다.

.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: grab;}
.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(https://www.w3schools.com/cssref/myBall.cur),auto;}
.w-resize {cursor: w-resize;}
.wait {cursor: wait;}
.zoom-in {cursor: zoom-in;}
.zoom-out {cursor: zoom-out;}
<h1>The cursor Property</h1>
<p>Hover mouse over each to see how the cursor looks</p>

<p class="alias">cursor: alias</p>
<p class="all-scroll">cursor: all-scroll</p>
<p class="auto">cursor: auto</p>
<p class="cell">cursor: cell</p>
<p class="context-menu">cursor: context-menu</p>
<p class="col-resize">cursor: col-resize</p>
<p class="copy">cursor: copy</p>
<p class="crosshair">cursor: crosshair</p>
<p class="default">cursor: default</p>
<p class="e-resize">cursor: e-resize</p>
<p class="ew-resize">cursor: ew-resize</p>
<p class="grab">cursor: grab</p>
<p class="grabbing">cursor: grabbing</p>
<p class="help">cursor: help</p>
<p class="move">cursor: move</p>
<p class="n-resize">cursor: n-resize</p>
<p class="ne-resize">cursor: ne-resize</p>
<p class="nesw-resize">cursor: nesw-resize</p>
<p class="ns-resize">cursor: ns-resize</p>
<p class="nw-resize">cursor: nw-resize</p>
<p class="nwse-resize">cursor: nwse-resize</p>
<p class="no-drop">cursor: no-drop</p>
<p class="none">cursor: none</p>
<p class="not-allowed">cursor: not-allowed</p>
<p class="pointer">cursor: pointer</p>
<p class="progress">cursor: progress</p>
<p class="row-resize">cursor: row-resize</p>
<p class="s-resize">cursor: s-resize</p>
<p class="se-resize">cursor: se-resize</p>
<p class="sw-resize">cursor: sw-resize</p>
<p class="text">cursor: text</p>
<p class="url">cursor: url</p>
<p class="w-resize">cursor: w-resize</p>
<p class="wait">cursor: wait</p>
<p class="zoom-in">cursor: zoom-in</p>
<p class="zoom-out">cursor: zoom-out</p>

출처 : CSS 커서 속성 @ W3Schools

제가 늦을지도 모르지만, 드래그 앤 드롭에 효과가 있었던 다음 코드를 사용해 보세요.

.dndclass{
    cursor: url('../images/grab1.png'), auto; 

}

.dndclass:active {
    cursor: url('../images/grabbing1.png'), auto;
}

위 URL에서 아래 이미지를 사용하시면 됩니다.PNG 투명 이미지인지 확인합니다.만약 그렇지 않다면, 구글에서 하나를 다운받으세요.

enter image description here enter image description here

커서를 직접 만들고 다음을 사용하여 커서로 설정할 수 있습니다.cursor: url('path-to-your-cursor');, 또는 Firefox를 찾아서 복사합니다(보너스: 모든 브라우저에서 일관성 있게 보기).

닫힌 손 커서는 16x16이 아닙니다.만약 당신이 같은 차원으로 필요하다면, 여기에 16x16px로 둘 다 있습니다.

opened hand closed hand

또는 원래 커서가 필요한 경우:

https://www.google.com/intl/en_ALL/mapfiles/openhand.cur https://www.google.com/intl/en_ALL/mapfiles/closedhand.cur

언급URL : https://stackoverflow.com/questions/5697067/css-for-grabbing-cursors-drag-drop

반응형