간단한 CSS 애니메이션을 만들었지 만 예상대로 작동하지 않습니다. 아이디어는 애니메이션이 직선 (위에서 아래로)을 그리고 사라지는 것 (위에서 아래로)입니다.
선의 시작은 애니메이션이 시작될 때 약간 아래로 이동 한 다음 다시 위로 올라가 설정 위치를 유지합니다 (애니메이션이 끝날 때 하단에도 동일 함).
줄의 시작 부분을 아래로 '바운스'하는 대신 한 위치에 유지하려면 어떻게해야합니까?
.lineWrapper {
width: 1px;
height: 300px;
margin: auto;
position: relative;
}
.lineWrapper .line {
width: 100%;
height: 100%;
background: #000;
animation: scrollLine 5s linear infinite;
}
@keyframes scrollLine {
0% {
transform: scaleY(0);
}
10% {
transform: scaleY(0);
transform-origin: top;
}
30% {
transform: scaleY(1);
}
70% {
transform: scaleY(1);
}
90% {
transform: scaleY(0);
transform-origin: bottom;
}
100% {
transform: scaleY(0);
}
}
<div class="lineWrapper">
<div class="line"></div>
</div>
기본값 transform-origin
은 중앙이므로 초기 및 마지막 상태에서 생략하면 중앙으로 설정됩니다. transform-origin
중간에 즉시 변경해야합니다 .
.lineWrapper {
width: 1px;
height: 300px;
margin: auto;
position: relative;
}
.line {
height: 100%;
background: #000;
animation: scrollLine 5s infinite;
}
@keyframes scrollLine {
0%,10% {
transform: scaleY(0);
transform-origin: top;
}
49.9% {
transform: scaleY(1);
transform-origin: top;
}
50% {
transform: scaleY(1);
transform-origin: bottom;
}
90%,100% {
transform: scaleY(0);
transform-origin: bottom;
}
}
<div class="lineWrapper">
<div class="line"></div>
</div>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다