Почему "div" с "position: absolute" переполняет экран - PullRequest
0 голосов
/ 08 мая 2020

Я смотрел учебник о том, как создать собственный курсор в CSS и JavaScript. Я сделал это, но когда я перемещаю его в нижнюю часть экрана, он переполняется и без надобности расширяет веб-сайт следующим образом: (этот темный кружок - курсор) enter image description here

I не знаю что делать. Это работает, когда я меняю overflow-y на hidden, но это не то, что я хочу, потому что тогда все остальные элементы на веб-сайте также скрыты.

CSS:

html {
    font-size: 10px;
    overflow-x: hidden;
    cursor: none;
}

.cursor {
    display: none;
    z-index: 10;
    position: absolute;
    width: 5rem;
    height: 5rem;
    border-radius: 5rem;
    background-color: #000000;
    opacity: .4;
    transform: translate(-50%, -50%);
    pointer-events: none;
    transition: all .3s ease;
    transition-property: opacity, transform;
    transform-origin: 100% 100%;
}

JS:

window.onload = () => {
    cursor.style.display = 'inline';
}

const changeCursorPosition = e => {
    cursor.style.left = e.pageX + 'px';
    cursor.style.top = e.pageY + 'px';
}
window.addEventListener('mouseover', changeCursorPosition);
window.addEventListener('mousemove', changeCursorPosition);

1 Ответ

0 голосов
/ 08 мая 2020

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

https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Basic_User_Interface/Using_URL_values_for_the_cursor_property

* {
  cursor: url(data:image/png;base64,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) -10 -10, auto;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...