Комбинация событий указателя hover css

У меня есть изображение, которое нужно запретить людям сохранять или перетаскивать, поэтому я использую

pointer-events: none;

но затем я также хочу добавить масштабирование с эффектом наведения, например:

transform: scale(1.5);

Есть ли способ добиться этого?

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в 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. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
0
286
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы можете установить pointer-events:none; на изображение, но обернуть его в другой элемент, чтобы вызвать действие наведения.

.image-wrapper {
  display: inline-block;
  overflow: hidden;
  font-size: 0;
}

.image-wrapper:hover img {
  transform: scale(1.5);
}

img {
  transition: all .3s ease-out;
  pointer-events: none;
}
<div class = "image-wrapper"><img src = "https://picsum.photos/200/300"></div>

Я думал об этом, но эффект наведения на div.image-wrapper заставляет сам div уменьшаться, я хочу, чтобы изображение уменьшалось, но все еще содержалось внутри div

Thuan Tran 16.07.2019 05:38

Не обязательно — посмотрите формат здесь и запустите сниппет. image-wrapper:hover img — это селектор css, означающий, что при наведении курсора на div-оболочку применяются стили к содержащемуся в нем изображению.

JasonB 16.07.2019 05:41

Я не знал, что вы можете использовать наведение на img с .image-wrapper, сработало как шарм, спасибо

Thuan Tran 16.07.2019 06:03

Как вы видели, pointer-events: none остановит реакцию элемента на любые движения мыши или клики вообще, а это не то, что вам нужно.

Чтобы предотвратить перетаскивание, вы можете просто добавить атрибут draggable = "false" к своему изображению.

Чтобы отменить клики, вы можете добавить прослушиватель событий, чтобы щелкнуть, а затем вызвать event.preventDefault() или return false. Быстрый и грязный способ сделать это:

<img draggable = "false" onclick = "return false;"/>

Однако есть гораздо более аккуратные и приятные способы прикрепления javascript к вашим элементам.

Важно знать, что отключение нажатия и перетаскивания не помешает тому, кто действительно хочет сохранить ваше изображение, сохранить его — и вы ничего не можете сделать, если кто-то настроен на В самом деле. Если пользователь может видеть изображение, он может сохранить изображение. Это может сделать его немного более раздражающим, чего может быть достаточно для вашего случая.

Спасибо за аккуратный ответ Beenjamin, хотя я искал решение с чистым css

Thuan Tran 16.07.2019 05:50

Без проблем! Я считаю, что CSS — это «отображаемый» слой, и поэтому, хотя вы можете в некоторой степени контролировать поведение с его помощью, более надежно использовать собственное поведение браузера в самом HTML, где это возможно.

Ben Hull 16.07.2019 06:20

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