Сделайте кликабельный анимированный курсор, используя только CSS
Дело в том, чтобы сделать aside
элемент вводится при наведении курсора на изображение, используя только CSS, но также позволяет его дочерним элементам принимать события щелчка.
Пока что у меня есть работающий анимированный курсор, в котором есть кнопка, и эта кнопка действует на события нажатия. я использовал pointer-events: none
на скольжении aside
элемент, потому что в противном случае анимация прыгает до точки разрушения, поэтому pointer-events: none
избавляет от этого, а анимация плавная и постоянная, пока вы зависаете.
Проблема возникает при наведении курсора на кнопку. Это сделает aside
переход (см. скрипку, это лучше, чем мой ломаный английский).
Я ищу способ предотвратить aside
от возвращения в исходное, скрытое положение. И проблема, конечно же, заключается в использовании только CSS!
Вот код (он также в скрипке):
HTML:
<div class="thumbnail">
<img src="http://i59.tinypic.com/10cvw8y.jpg" class="template-img">
<aside tab-index="1" class="hover">
<button class="button" onclick="alert('wow')">CLICK ME</button>
</aside>
</div>
CSS:
.thumbnail {
position: relative;
overflow: hidden;
}
.template-img {
width: 100%;
height: 100%;
}
.template-img:hover ~ .hover {
transform: translateX(0);
}
.template-img:focus {
pointer-events: none;
}
.template-img:focus ~ .hover {
transform: translateX(0);
transition: none;
}
.hover {
position: absolute;
top: 0;
width: 100%;
height: 100%;
padding-top: 15%;
transform: translateX(-100%);
transition: transform .4s ease-out;
pointer-events: none;
background: rgba(255, 0, 0, 0.4);
z-index: 10;
}
.button {
pointer-events: auto;
}
1 ответ
Добавление стиля ниже, похоже, решило проблему
.hover:hover {
transform: translateX(0);
}
Принудительно запускать анимацию при наведении на контент
Вот скрипка