SVG의 <textPath> 요소는 <text> 안에 넣으면 그 텍스트의 기준선을 href로 참조한 <path>의 모양대로 휘게 만들어줍니다 — 글자 하나하나를 수동으로 회전·배치할 필요 없이, 브라우저가 경로를 따라 자동으로 문자 간격을 계산해줍니다. 이동 효과는 textPath의 startOffset 속성을 0%에서 100%로(또는 그 이상으로) 계속 늘려가는 것만으로 만들 수 있습니다 — 텍스트 전체가 경로 위를 미끄러지듯 이동합니다.
경로가 닫힌 도형(원)이면 startOffset이 100%를 넘어가는 순간 0%로 자연스럽게 되돌아가 끊김 없이 순환합니다. 이 때문에 원형 뱃지("이 상품은 유기농입니다 ✦ 이 상품은 유기농입니다 ✦ …")처럼 텍스트를 그 자체 길이보다 길게 반복해서 채워두면, 순환할 때 빈 구간 없이 계속 도는 것처럼 보입니다.
모션 패스가 "요소 하나가 경로를 따라 이동"하는 것이라면, 이건 "글자들이 그 경로 자체의 모양이 되어" 이동하는 것이라 같은 곡선이라도 다른 인상을 줍니다. 곡률이 급격한 경로에서는 글자 사이 간격이 눈에 띄게 벌어지거나 겹칠 수 있어, 부드러운 곡선(원, 완만한 웨이브)에 쓰는 것이 안전합니다.
언제 쓰나
원형 로고 뱃지, 도장(스탬프) 느낌의 텍스트, 완만하게 휘어진 헤드라인에 씁니다. 곡률이 급한 경로나 본문처럼 긴 텍스트에는 가독성이 떨어지니 피하세요.