커서 모양을 바꾸는 원리는 간단합니다. html에 비어있는 태그를 만들어준 후에
css로 사용할 커서 모양을 커스텀 해준 후에 script로 마우스를 따라다니게 하는 원리입니다.
아래 태그를 살펴보겠습니다.
< HTML >
빈 태그
를 만들어 줍니다.<div class="cursor"></div>
< CSS >
position: absolute
로 만들어진 div 태그를 띄워줍니다.body{
cursor: none;
}
.cursor{
width: 20px; height: 20px;
background-color: #000;
border-radius: 10px;
position: absolute; left: 0; top: 0;
z-index: 999;
transition: background-color .2s, border-color .2s, border-radius .2s, transform .6s
}
< JS >
mousemove 이벤트
를 사용합니다.client x,y
값을 이용해 마우즈 좌표를 구한 후에 position값 left, top 값에 넣어줍니다.const cursor = document.querySelector('.cursor');
cursor.addEventListener('mousemove',(e) => {
cursor.style.left = `${e.clientX}px`;
cursor.style.top = `${e.clientY}px`;
});