CSS만으로는 width를 0에서 100%로 늘리고 overflow:hidden으로 가리는 steps() 애니메이션이 고전적인 구현입니다 — 글자 수만큼 steps(n)을 줘야 한 프레임에 한 글자씩 나타납니다. 가변 폭 폰트에서는 정확히 맞추기 까다로워서, 실무에서는 JS로 substring을 늘려가며 텍스트 노드를 직접 갱신하는 방식을 더 많이 씁니다.
여러 문장을 이어 칠 때는 다 쓴 뒤 지우고 다음 문장을 타이핑하는 식으로 루프를 만듭니다. 커서는 별도 요소에 step-end 깜빡임을 줍니다.
언제 쓰나
히어로 헤드라인 하나 정도로 아껴 쓰세요. 본문 문단에 쓰면 읽는 속도를 강제로 늦춰 오히려 불편합니다.