コンテンツへスキップ
動かす CSSのみ 定番

ロゴの線を描く

stroke-dashoffset

線が引かれていくようにロゴやアイコンを描く。CSS のアニメーションだけで作れる。

AIへの頼み方

このロゴの SVG を、線が引かれていくアニメーションで表示してください。各パスの pathLength を 1 に正規化して、stroke-dashoffset を 1 から 0 に動かす方法でお願いします。prefers-reduced-motion: reduce の環境では、最初から描き終わった状態にしてください。

動くデモ

右下のボタンで再生と停止を切り替えられます。動きを減らす設定の端末では停止した状態で始まります。

全画面で見る ↗

最小コード

CSS
/* HTML 側:<path pathLength="1" d="..." /> と書いておく。
   pathLength="1" は「この線の長さを 1 として扱う」という宣言。
   実際の長さを JS で測らなくてよくなるのがポイント。 */

.line {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.4;
  stroke-linecap: round;

  stroke-dasharray: 1;      /* 線1本ぶんの破線 */
  stroke-dashoffset: 1;     /* まるごとずらす=見えない */
  animation: draw 1.1s ease forwards;
}

@keyframes draw {
  to { stroke-dashoffset: 0 }   /* ずれを戻す=引かれていくように見える */
}

/* 複数の線を順番に描くなら delay をずらすだけ */
.line:nth-child(2) { animation-delay: .45s }
.line:nth-child(3) { animation-delay: .55s }

@media (prefers-reduced-motion: reduce) {
  .line { animation: none; stroke-dashoffset: 0 }
}

対応状況

定番 2026年08月時点で確認

webstatus.dev に個別の feature 登録がないため caniuse / MDN で確認。SVG 1.1 の presentation attribute で、主要ブラウザが長年サポート(IE9 以降)。pathLength での正規化も同様に広く使える。

実案件でそのまま使える。古い環境でも動く。

対応状況は自動更新していません。確認日より後の変化はこのページに反映されていない場合があります。

使いどころ/避けどころ

ロゴやアイコンの登場演出に向く。トップページを開いた瞬間や、会社紹介の冒頭に置くと、静止画を貼るより印象に残る。実装も軽く、画像を差し替えるだけの手間で見栄えが変わる。

線でできた図形にしか効かないのがいちばん大事な前提。塗りつぶしのイラストや写真では使えない。まず線画にできるかどうかを確かめる。

pathLength を 1 にしておくと、線の実際の長さを測らずに済む。JavaScript で長さを取得して代入する昔ながらのやり方は、もう要らない。

避けたいのは長すぎる演出。全体で1秒から1秒半くらいに収める。3秒かけて描くと、2回目に見た人には待ち時間になる。同じ人が何度も訪れるページなら、そもそも毎回描き直さない選択もある。

線の数が多い図形も向かない。線を1本ずつ順番に描くと、20本あれば20回分の時間がかかる。細かいイラストより、線が10本以内の記号のほうがきれいに決まる。

動きを減らす設定の人には、描き終わった状態で見せる。途中で止めると、ロゴが欠けたまま表示されてしまう。

関連項目

← 実装辞典の一覧へ