本文へスキップ

生成中オーラ枠

AIが応答を生成している間、カードの外周を虹色グラデーションの光がゆっくり回る。完了すると光が静まり、回答が現れる。

ENGLISH

AI Generating Glow Border

  • JS
約82行領域別 / AI・生成体験 の一覧 →

プレビュー

クリック

操作クリック/タップで動きます。

仕様書

向く場面
  • AI が応答を生成している間のカード
  • スケルトン行と外周の光で「考えている」を示す画面
  • 完了で光が静まり回答に置き換わる演出
避ける場面
  • 1秒未満で終わる処理(光が回り切らない)
  • 常時表示のカード(装飾が主張しすぎる)
構成要素
  • カード(オーラ枠)
  • アバター・名前
  • スケルトン行
  • 回答本文
  • 生成ボタン
持っている状態
  • 通常
  • 無効
  • 読み込み中
  • 成功
キーボード

Tab で「生成する」ボタンへ、Enter/Space で開始。生成中は disabled になり「生成中…」の文言に変わる

支援技術

生成中はカードに aria-busy=true、ボタンは disabled+「生成中…」。本文領域は aria-live=polite で完了時に回答を読み上げ、スケルトンは aria-hidden。reduced-motion では回転とシマーを止め静止グラデーションにする

動き

外周の光が 2.4s linear で1回転、行のシマー 1.4s(生成中)。reduced-motion で静止

デザインの要点

  • 光は外周だけを回す。conic-gradient の角度を @property でアニメーションし、内側は白いカードで覆う二重構造にする
  • 1周 2.4 秒は「考えている」と伝わる遅さ。速いと処理中のスピナーに見え、AI の思考という文脈が消える
  • 完了は光を止めて本文に置き換えるだけ。派手な完了演出を足すと、毎回の応答で待たされる
  • スケルトン行は本文と同じ行数・幅にしておく。完了時にカードの高さが跳ねない
実装メモ

conic-gradient の角度を @property で定義した --glow-a としてアニメーションさせ、外周だけを回転する光にしています(内側は白いカードで覆う二重構造)。生成中を示すモチーフとして GeminiやApple Intelligence 系のUIで定番化した表現です。生成の開始/完了はここでは setTimeout で擬似再現しているので、実運用ではストリーミングの完了イベントで .gen クラスを付け外ししてください。prefers-reduced-motion では回転とシマーを止めています。

コード(コピーして使えます)

<div class="glow-demo">
  <div class="glow-card" id="glow-card">
    <div class="glow-inner" aria-live="polite">
      <div class="glow-head"><span class="glow-avatar" aria-hidden="true">✦</span><span>AI アシスタント</span></div>
      <div class="glow-lines" id="glow-lines" aria-hidden="true">
        <span class="glow-ln"></span><span class="glow-ln"></span><span class="glow-ln short"></span>
      </div>
      <p class="glow-text" id="glow-text" hidden>要点はこの3つです。①下書きの自動生成、②表記ゆれの統一、③トーンの調整。順に反映しました。</p>
    </div>
  </div>
  <button class="glow-btn" id="glow-btn" type="button">生成する</button>
</div>

タグ

同じカテゴリ「AI・生成体験」のほかのパーツ

関連パーツ