Пользовательское изображение курсора CSS

У меня есть несколько изображений героев, при нажатии на которые появляется модальное всплывающее окно. Я пытаюсь превратить мой курсор в увеличительное стекло, когда он перемещается по изображению. Следующий CSS не работает, хотя мой magnify.cur находится в нужном месте.

a.heroshot img {
  cursor:url(/img/magnify.cur), pointer;
}

Кто-нибудь когда-нибудь делал что-нибудь подобное? Я не возражаю против решения JavaScript, если оно существует.

РЕДАКТИРОВАТЬ: работает в Safari, но не в Firefox.

связанные stackoverflow.com/questions/6577326/…

Adrien Be 25.06.2013 01:54
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
35
1
74 157
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

Что, если вы заключите строку URL-адреса в апострофы?

a.heroshot img {
cursor:url('/img/magnify.cur'), pointer;
}

См. Также http://www.w3schools.com/CSS/pr_class_cursor.asp

Кавычки в свойстве URL CSS не являются обязательными [w3.org/TR/CSS21/syndata.html#uri] и w3schools - ужасный ресурс, поскольку он полон вводящей в заблуждение, нестандартной информации и ошибок.

Gareth 03.12.2008 15:25
Ответ принят как подходящий

Ваша проблема может заключаться в том, что URL-адреса курсора не работают в Firefox для Mac.

Вы можете добиться того же эффекта в Firefox, используя ключевое слово -moz-zoom-in.

cursor:url(/img/magnify.cur), -moz-zoom-in, auto;

Это отобразит magnify.cur, специфичный для Mozilla курсор масштабирования или системный курсор по умолчанию. Используется первый курсор в списке, который поддерживает браузер.

Вы также можете увидеть, что список ключевых слов курсора поддерживается разными браузерами.

Это правило не работает в Firefox (проверено с FF7). Браузер видит в этом синтаксическую ошибку и отклоняет правило (можно увидеть в веб-консоли). Chrome также не отображает настраиваемый значок (IE8 отображает настраиваемый значок). MDN определяет синтаксис для этого правила, которым является [<url>,]* keyword, где keyword является одним из значений курсора, определенных CSS, например auto.

pau.moreno 17.10.2011 18:29

Это сработало :)

a.heroshot img {
cursor:url(/img/layout/backgrounds/moz-zoom.gif), -moz-zoom-in;
}

Обновлено: Значок увеличения теперь изначально поддерживается в большинстве браузеров, поэтому вы можете просто использовать этот CSS:

cursor: -webkit-zoom-in;
cursor: -moz-zoom-in;
cursor: zoom-in;

Было бы неплохо поставить точку с запятой в конце определения свойства.

Volker E. 12.10.2014 04:44

Свойство моего бокового URL-адреса работает для курсора следующим образом

 #myid{cursor:url('myimage.png') , auto}

Но здесь я думаю проблема с размером изображения. Потому что, если я использую размер 32 * 32 или меньше, это отлично работает.

Список URL-адресов настраиваемых курсоров, разделенных запятыми. Примечание. Всегда указывайте универсальный курсор в конце списка на случай, если ни один из курсоров, определенных для URL, не может быть использован.

 #myid{cursor:url('myimage.png') , auto}
 #myid{cursor:url('myimage.png') ,url('myimage2.gif') , auto} etc

Если поставить только это то не получится

 #myid{cursor:url('myimage.png')}

(На основе ответа Кевина Бордерса)

Правильный резервный порядок следующий

a.heroshot img {
    cursor: url(/img/zoom_in.png), url(/img/zoom_in.cur), pointer;  
    cursor: url(/img/zoom_in.png), -moz-zoom-in;  
    cursor: url(/img/zoom_in.png), -webkit-zoom-in;
}

Протестировано с: Firefox 47, Chrome 51, Opera 36, ​​Edge 13 и IE11.

Другие вопросы по теме