Элемент SVG <textPath>
позволяет определять фигуры для текстов, по которым они движутся. Если фигура представляет собой замкнутый контур, количество отображаемого текста зависит от того, что умещается.
Обратите внимание, что путь идет по часовой стрелке. Если бы он работал против часовой стрелки, текст был бы внутри, теоретически, если вы не установите side="right"
- но это является частью спецификации SVG2 и еще не реализовано во всех браузерах.
Анимация сложная, так как текст не «переворачивается», он запускается от начала до конца, и какая часть текста, которую вы видите, изменяется в ходе его прохождения. Эти анимации SMIL также не запускаются в IE / Edge, вам нужно использовать FakeSmile polyfill.
text {
font-family: sans-serif;
font-size: 10px;
}
<svg viewBox="0 0 300 150">
<defs>
<path id="shape" d="M20,20H280V130H20Z" />
</defs>
<text>
<textPath xlink:href="#shape">Lorem ipsum dolor sit amet, consectetur adipisici elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquid ex ea commodi consequat.
<animate attributeName="startOffset" from="-400" to="0" dur="10s" repeatCount="indefinite" />
</textPath>
</text>
</svg>