>웹 프론트엔드 >CSS 튜토리얼 >SVG의 대시 애니메이션을 사용하여 손으로 그린 ​​텍스트 애니메이션 효과를 만드는 방법은 무엇입니까?

SVG의 대시 애니메이션을 사용하여 손으로 그린 ​​텍스트 애니메이션 효과를 만드는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-30 03:30:11647검색

How to Create a Hand-Drawn Text Animation Effect Using SVG's Dash Animation?

SVG를 사용하여 웹 페이지에서 필기 텍스트에 애니메이션을 적용하는 방법은 무엇입니까?

문제 설명:

SVG로 저장한 텍스트에 애니메이션을 적용하려고 시도했지만 애니메이션만 가능했습니다. 원하는 효과가 아닌 스트로크에 애니메이션을 적용합니다. 주어진 예와 유사한 애니메이션을 구현하여 손으로 그린 ​​듯한 느낌을 주고 싶습니다. 지금까지의 내용은 다음과 같습니다.

코드 샘플:

<div>
.test {
  width: 300px;
}

.l1 {
  animation: dash 15s 1;
  stroke-dasharray: 300;
  stroke-dashoffset: 300;
  animation-fill-mode: forwards;
}

.l2 {
  stroke-dasharray: 300;
  stroke-dashoffset: 300;
  animation: dash 20s linear forwards;
  animation-delay: 1s;
}

.l3 {
  stroke-dasharray: 300;
  stroke-dashoffset: 300;
  animation: dash 25s linear forwards;
  animation-delay: 2.5s;
}

.l4 {
  stroke-dasharray: 300;
  stroke-dashoffset: 300;
  animation: dash 25s linear forwards;
  animation-delay: 4.5s;
}

@keyframes dash {
  to {
    stroke-dashoffset: 0;
  }
}

답변:

애니메이션 달성하려는 목표는 표준 대시 애니메이션 기술을 사용하지만 손으로 ​​그린 ​​것과 유사한 윤곽선으로 애니메이션 스트로크를 자릅니다. 스타일.

대시 애니메이션 기술:

다음과 같은 표준 선은 다음과 같습니다.

<path d="M 10,75 L 290,75" stroke="red" stroke-width="50"/>

획 값을 제어하여 애니메이션을 만듭니다. 키프레임 애니메이션의 dasharray 및 획-대시 오프셋.

.path {
  stroke-dasharray: 300;
  stroke-dashoffset: 300;
  animation: dash 15s 1;
  animation-fill-mode: forwards;
}

@keyframes dash {
  to {
    stroke-dashoffset: 0;
  }
}

여기서 예를 들어, 스트로크 대시선 속성은 경로를 따라 대시와 간격의 길이를 정의하고, 스트로크 대시오프셋은 경로 내 대시의 오프셋을 정의합니다. 애니메이션이 0%에서 100%로 진행됨에 따라 획-대시 오프셋 값이 감소하여 대시가 경로를 따라 점진적으로 나타납니다.

손으로 그린 ​​모양 만들기:

윤곽선으로 애니메이션 스트로크를 자르려면 애니메이션 스트로크의 너비와 색상과 일치하는 스트로크와 함께 추가 SVG 경로가 사용됩니다. 이 윤곽선 경로는 애니메이션 스트로크가 차지할 전체 영역을 포함해야 합니다. 연귀할 윤곽선의 획-라인 결합 속성을 정의하면 손으로 그린 ​​선 같은 느낌을 주는 날카로운 모서리 스타일이 만들어집니다.

위 내용은 SVG의 대시 애니메이션을 사용하여 손으로 그린 ​​텍스트 애니메이션 효과를 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.