CSS для захвата курсоров (drag & drop)
у меня есть JavaScript webapp, где пользователь должен захватить фон, чтобы переместить весь экран вокруг. Поэтому я хочу, чтобы курсор менялся, когда они зависают над фоном. Элемент -moz-grab и -moz-grabbing CSS курсоры идеально подходят для этого. Конечно, они работают только в Firefox... существуют ли эквивалентные курсоры для других браузеров? Должен ли я сделать что-то немного более обычное, чем стандартные CSS-курсоры?
6 ответов:
Я думаю
moveвероятно, будет ближе всего стандартное значение курсора за то, что ты делаешь:движение
Указывает, что что-то должно быть перемещено.
в случае, если кто-то еще натыкается на этот вопрос, это, наверное, то, что вы ищете:
.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; }
CSS3
grabиgrabbingтеперь допустимые значения дляcursor. Для того, чтобы обеспечить несколько запасных вариантов для кроссбраузерность включая пользовательские файлы курсора, полное решение будет выглядеть следующим образом:.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; }
вы можете создать свои собственные курсоры и установить их в качестве курсора с помощью
cursor: url('path-to-your-cursor');, или найти Firefox и скопировать их (бонус: хороший последовательный взгляд в каждом браузере).
"больше пользовательских", чем CSS курсоры означает плагин некоторого типа, но вы можете полностью указать свои собственные курсоры с помощью 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 cursor Property @ W3Schools
Я могу опоздать, но вы можете попробовать следующий код, который работал для меня для перетаскивания.
.dndclass{ cursor: url('../images/grab1.png'), auto; } .dndclass:active { cursor: url('../images/grabbing1.png'), auto; }вы можете использовать изображения ниже в URL выше. Убедитесь, что это прозрачное изображение PNG. Если нет, загрузите один из google.


Comments