Nếu bạn muốn làm một biểu tượng để hướng dẫn người dùng kéo xuống để tiếp tục xem, bài viết này sẽ giúp bạn.
HTML
<div class="mouse-container">
<div class="mouse"></div>
<p class="scroll-text">Scroll</p>
</div>
CSS
@import url(https://fonts.googleapis.com/css?family=Cabin);
@mixin bgGradient {
background: #4e5559
linear-gradient(
transparent 0%,
transparent 50%,
#ffffff 50%,
#ffffff 100%
);
}
.mouse-container {
height: 450px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
background-color: #222a30;
}
p.scroll-text {
margin-top: 50px;
font-family: "Cabin", sans-serif;
letter-spacing: 12px;
text-indent: 12px;
color: #ffffff;
animation: colorText 5s ease-out infinite, nudgeText 5s ease-out infinite;
}
.mouse {
@include bgGradient;
position: relative;
width: 52px;
height: 88px;
background-size: 100% 100%;
border-radius: 100px;
background-size: 225%;
animation: colorSlide 5s linear infinite, nudgeMouse 5s ease-out infinite;
&:before,
&:after {
content: "";
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: auto;
}
&:before {
width: calc(52px - 6px);
height: calc(88px - 6px);
background-color: #222a30;
border-radius: 100px;
}
&:after {
background-color: #ffffff;
width: 10px;
height: 10px;
border-radius: 100%;
animation: trackBallSlide 5s linear infinite;
}
}
@keyframes colorSlide {
0% {
background-position: 0% 100%;
}
20% {
background-position: 0% 0%;
}
21% {
background-color: #4e5559;
}
29.99% {
background-color: #ffffff;
background-position: 0% 0%;
}
30% {
background-color: #4e5559;
background-position: 0% 100%;
}
50% {
background-position: 0% 0%;
}
51% {
background-color: #4e5559;
}
59.99% {
background-color: #ffffff;
background-position: 0% 0%;
}
60% {
background-color: #4e5559;
background-position: 0% 100%;
}
80% {
background-position: 0% 0%;
}
81% {
background-color: #4e5559;
}
89.99%,
100% {
background-color: #ffffff;
}
}
@keyframes trackBallSlide {
0% {
opacity: 1;
transform: scale(1) translateY(-20px);
}
6% {
opacity: 1;
transform: scale(0.9) translateY(20px/4);
}
14% {
opacity: 0;
transform: scale(0.4) translateY(20px * 2);
}
15%,
19% {
opacity: 0;
transform: scale(0.4) translateY(-20px);
}
28%,
29.99% {
opacity: 1;
transform: scale(1) translateY(-20px);
}
30% {
opacity: 1;
transform: scale(1) translateY(-20px);
}
36% {
opacity: 1;
transform: scale(0.9) translateY(20px/4);
}
44% {
opacity: 0;
transform: scale(0.4) translateY(20px * 2);
}
45%,
49% {
opacity: 0;
transform: scale(0.4) translateY(-20px);
}
58%,
59.99% {
opacity: 1;
transform: scale(1) translateY(-20px);
}
60% {
opacity: 1;
transform: scale(1) translateY(-20px);
}
66% {
opacity: 1;
transform: scale(0.9) translateY(20px/4);
}
74% {
opacity: 0;
transform: scale(0.4) translateY(20px * 2);
}
75%,
79% {
opacity: 0;
transform: scale(0.4) translateY(-20px);
}
88%,
100% {
opacity: 1;
transform: scale(1) translateY(-20px);
}
}
@keyframes nudgeMouse {
0% {
transform: translateY(0);
}
20% {
transform: translateY(8px);
}
30% {
transform: translateY(0);
}
50% {
transform: translateY(8px);
}
60% {
transform: translateY(0);
}
80% {
transform: translateY(8px);
}
90% {
transform: translateY(0);
}
}
@keyframes nudgeText {
0% {
transform: translateY(0);
}
20% {
transform: translateY(2px);
}
30% {
transform: translateY(0);
}
50% {
transform: translateY(2px);
}
60% {
transform: translateY(0);
}
80% {
transform: translateY(2px);
}
90% {
transform: translateY(0);
}
}
@keyframes colorText {
21% {
color: #4e5559;
}
30% {
color: #ffffff;
}
51% {
color: #4e5559;
}
60% {
color: #ffffff;
}
81% {
color: #4e5559;
}
90% {
color: #ffffff;
}
}
Ta được kết quả.
Scroll
Không có bình luận.