如何使用 CSS 创建自定义光标?
原文:https://www . geesforgeks . org/how-create-custom-cursor-use-CSS/
自定义光标增强了文档的可读性,并将用户的注意力吸引到网页的特定部分。今天我们将学习如何使用 HTML、CSS 和 Javascript 为网页创建自定义光标。
进场:
- 隐藏默认光标。
- 定义包含所有动画的类。
- 当按下鼠标按钮或移动鼠标指针时,动态添加和移除这些类。
例:
超文本标记语言
<!DOCTYPE html>
<html>
<head>
<style>
:root {
--color: 255, 71, 84;
--cursor-size: 30px;
}
* {
cursor: none;
}
html,
body {
height: 100%;
}
body {
margin: 0;
overflow: hidden;
background: #121212;
}
.custom-cursor {
position: absolute;
z-index: 99;
top: 0;
left: 0;
width: var(--cursor-size);
height: var(--cursor-size);
border: calc(var(--cursor-size)
/30) solid #fff;
border-radius: 50%;
animation: cursor 800ms infinite
alternate ease-in-out;
}
.custom-cursor::before {
content: "";
display: block;
width: calc(var(--cursor-size) / 2);
height: calc(var(--cursor-size) / 2);
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
border: calc(var(--cursor-size) / 6)
solid rgba(var(--color), 0.5);
border-radius: 50%;
animation: cursor-before 800ms infinite
alternate ease-in-out;
}
.custom-cursor.click {
animation: cursor-click 800ms
normal ease-in-out;
}
@keyframes cursor {
from {
transform: scale(1);
border-color: #fff;
}
to {
transform: scale(1.5);
border-color: rgb(var(--color));
}
}
@keyframes cursor-before {
from {
transform: translate(-50%, -50%) scale(1);
border-color: rgba(var(--color), 0.5);
}
to {
transform: translate(-50%, -50%) scale(1.5);
border-color: rgba(var(--color), 0.75);
}
}
@keyframes cursor-click {
0%,
100% {
transform: scale(1);
}
50% {
transform: scale(2.5);
border-color: rgb(var(--color));
}
}
</style>
</head>
<body>
<div class="custom-cursor"></div>
</body>
</html>
版权属于:月萌API www.moonapi.com,转载请注明出处