웹 사이트, 홈페이지들을 서핑 하다보면
메인 페이지에 마우스 모양에 휠이 내려가고 무한 반복이 되는 그림을 꽤 본 적이 있다.
지금까지는 그저 저런 효과도 있구나 하고 넘겼는데,
웹 사이트 제작 사이드 프로젝트를 시작하고서 어느 순간 보니 문득 구현 방법이 궁금해졌다.
수많은 자료를 조사했고 html과 css만으로 가장 간단하게 만들 수 있었던 소스를 기록한다.
그대로 복붙해서 가져다쓰면 색상이나 위치, 크기가 어색할 수 있으니
어려운 소스도 아니고 공부도 할 겸 하나씩 커스터마이징 해보면 좋을 듯 하다.
html
<a href="#" class="scroll-down"> <!-- 마우스 휠 효과를 줄 태그 -->
<div class="scroll"> <!-- 마우스 모양 도형 -->
<span class="scroll-dot"></span> <!-- 마우스 휠 움직임 효과를 줄 구체 -->
</div>
<div class="arrow-down"></div> <!-- 마우스 이미지 아래쪽의 화살표 -->
</a>
css
/* position, bottom, left 등으로 위치 설정 필요 */
.scroll-down {
position: absolute;
bottom: 5.5rem;
left: 50%;
transform: translateX(-50%);
display: flex;
flex-direction: column;
align-items: center;
}
/* 마우스 모양 만들기 */
.scroll {
width: 2rem;
height: 4rem;
border: 2px solid black;
border-radius: 2rem;
display: flex;
justify-content: center;
align-items: center;
}
/* 마우스 휠 움직임 */
.scroll span {
width: 0.8rem;
height: 0.8rem;
border-radius: 50%;
background: white;
display: block;
animation: cursor 1.15s linear infinite;
}
/* 마우스 아래 화살표 */
.arrow-down {
width: 0.8rem;
height: 0.8rem;
border: 2px solid transparent;
border-right-color: black;
border-bottom-color: black;
transform: rotate(45deg);
margin-top: 0.3rem;
animation: arrow 1.15s linear infinite;
}
@keyframes cursor {
0% {
opacity: 0;
transform: translateY(-1rem);
}
100% {
opacity: 1;
transform: translateY(1rem);
}
}
@keyframes arrow {
0% {
opacity: 0;
}
25% {
opacity: 0.25;
}
50% {
opacity: 0.5;
}
75% {
opacity: 0.75;
}
100% {
opacity: 1;
}
}
'프로그래밍' 카테고리의 다른 글
티스토리 Open API 사용을 위한 access key 발급하기 (3) | 2021.09.26 |
---|---|
[Javascript] (번역 및 요약) ECMAScript 6 - ECMAScript 2015 (0) | 2020.08.06 |
[Javascript] 키 코드 값 간단히 찾기 (0) | 2020.08.05 |