SVG 및 CSS로 로딩 애니메이션 만들기
이렇게 하면 애니메이션이 필요할 때 바로 나타나도록 하여 사용자 연결 속도에 따라 사용자 경험이 영향을 받지 않도록 합니다.
이 튜토리얼에서는 HTML과 CSS를 사용하여 웹 프로젝트를 위한 간단한 로딩 애니메이션을 만들 것입니다.
우리가 추구하는 최종 결과는 다음 애니메이션입니다.
다음 html 템플릿을 추가합니다.
<div class="svg-loader">
<svg class="svg-container" height="100" width="100" viewBox="0 0 100 100">
<circle class="loader-svg bg" cx="50" cy="50" r="45"></circle>
<circle class="loader-svg animate" cx="50" cy="50" r="45"></circle>
</svg>
</div>
위의 그림에서 알 수 있듯이 애니메이션 템플릿은 두 개의 원을 겹쳐서 구성하고 첫 번째 원은 두 번째 원보다 두껍습니다.
원 내부의 cx 및 cy 속성은 각각 두 원의 x축 및 y축 좌표입니다. 그들은 두 원이 같은 좌표의 중심에 있는지 확인합니다.
다음 CSS를 추가합니다.
.svg-loader{
display:flex;
position: relative;
align-content: space-around;
justify-content: center;
}
.loader-svg{
position: absolute;
left: 0; right: 0; top: 0; bottom: 0;
fill: none;
stroke-width: 5px;
stroke-linecap: round;
stroke: rgb(64, 0, 148);
}
.loader-svg.bg{
stroke-width: 8px;
stroke: rgb(207, 205, 245);
}
위의 CSS는 로드 구성 요소가 컨테이너 내 중앙에 있는지 확인하고 두 원에 대해 다른 획 너비와 색상이 있는지 확인합니다.
그런 다음 CSS를 사용하여 첫 번째 원 위에 놓일 두 번째 원에 애니메이션을 적용하여 로딩 애니메이션을 완료합니다.
.animate{
stroke-dasharray: 242.6;
animation: fill-animation 1s cubic-bezier(1,1,1,1) 0s infinite;
}
@keyframes fill-animation{
0%{
stroke-dasharray: 40 242.6;
stroke-dashoffset: 0;
}
50%{
stroke-dasharray: 141.3;
stroke-dashoffset: 141.3;
}
100%{
stroke-dasharray: 40 242.6;
stroke-dashoffset: 282.6;
}
}
다음은 위의 CSS에서 진행 중인 작업입니다.
우리가 원을 그릴 때 그것은 단순히 원의 처음부터 끝까지 우리 모양의 윤곽을 그리는 단일 대시 스트로크입니다. stroke-dasharray 속성은 이를 대시와 간격의 패턴으로 나눌 수 있는 기능을 제공합니다. 이 기능을 활용하여 원하는 애니메이션 최종 결과를 얻을 수 있습니다.
위와 같은 부드러운 애니메이션 효과를 얻으려면 원의 원주를 알아야 합니다. 여기서 원주 = 2 x pi x 반지름입니다. 그런 다음 stroke-dasharray 속성을 사용하여 둘을 추가할 때 둘레 길이를 유지하면서 애니메이션의 다른 상태에서 크기를 번갈아 가며 최대 하나의 대시와 간격을 그립니다.
원 반지름이 45이면 둘레가 282.6이 됩니다. 따라서 stroke-dasharray 값을 141.3으로 설정하면 대시와 간격이 동일한 값을 가지므로 합이 282.6이 됩니다.
stroke-dashoffset 속성은 연결된 대시 배열의 렌더링에서 오프셋을 정의하는 표시 속성입니다. 이 오프셋은 로딩 애니메이션에 회전 효과를 제공합니다. 그렇지 않으면 애니메이션이 깨진 것처럼 보입니다. 이것이 채우기 애니메이션 애니메이션에서 일어나는 모든 것입니다.
이 애니메이션이 무한히 계속되도록 .animation 클래스를 사용하여 이 애니메이션을 두 번째 원에 적용하여 마무리합니다.
이것은 SVG 및 CSS로 만들 수 있는 애니메이션 종류의 기초일 뿐이며, 웹 프로젝트를 위한 빠르고 픽셀 완벽한 로딩 애니메이션을 만드는 실험적이고 창의적입니다.
Reference
이 문제에 관하여(SVG 및 CSS로 로딩 애니메이션 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/xinnks/create-loading-animations-with-svg-and-css-1d0p텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)