[애니메이션] 007
커서가 닿았을 때만 움직이는 애니메이션
html
<div class="container">
<div class="animation">
<div class="transparent"></div>
</div>
</div>
css
.animation {
width: 640px; height: 480px;
margin: auto;
background-image: url(test.jpg);
background-size: 100% 100%;
overflow: hidden;
}
.transparent {
width: 300px; height: 300px;
background-color: transparent;
border-radius: 50%;
box-shadow: 0 0 0 1000px gray;
position: relative;
top: 0; left: 0; /* 시작 위치 */
animation: circle 3s ease-in-out infinite;
animation-play-state: paused;
}
.animation:hover .transparent {
animation-play-state: running;
}
@keyframes circle {
25% {
left: 340px;
top: 0;
}
50% {
left: 340px;
top: 180px;
}
75% {
left: 0;
top: 180px;
}
100% {
left: 0;
top: 0;
}
}
아이디어
1. 원을 제외한 부분은 box-shadow
를 크게 만들어 가리고 넘치는 영역은 hidden
처리한다
2. keyframes
을 이용해 애니메이션을 적용시킨다.
3. animation-play-state
속성으로 애니메이션의 running
, paused
상태를 조절한다.
Author And Source
이 문제에 관하여([애니메이션] 007), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@tjdgus3160/애니메이션-007저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)