← miitobow.comに戻る
UI辞典・自分用

miitobow.comの動き、
なんて呼べばいいんだっけ。

namethatui.comの「UIパーツに名前と作り方の指示文をつける」形式を借りて、miitobow.comを作る中で登場した9個の動きをまとめました。

実際に触って確認できます(ホバー・クリック・横リサイズ)。下の指示文はそのままAIへの依頼文としてコピーできます。

bg(クリーム)#fbf7f1 accent(グリーン)#4c9a2a ink(本文)#221f1b code-bg(指示文の背景)#1f2a22

9個の動き

それぞれ「なんて呼ぶか」「正式には何という仕組みか」「どう頼めば作れるか」の3点セットです。

レイアウト

端まで伸びるヒーロー

Edge-to-Edge Hero / Full-Bleed Layout

本文は中央寄せのまま
👟

背景とキャラだけ画面の端まで伸ばし、本文は普段どおり中央寄せの幅に収める。ウルトラワイド画面で本文とキャラの間が際限なく開かないよう、キャラの位置を本文コンテナの伸び方に合わせて計算する。

ヒーローセクションだけ画面幅いっぱいに広げて、右端にキャラクターを配置して。
本文は今までどおり中央寄せの最大幅コンテナのままでいい。
超ワイド画面で見たとき、本文とキャラの間の余白が際限なく開かないように、
キャラの位置を本文コンテナの伸び方に合わせて調整して。
モーション

ポーズが変わるキャラ

Hover Cross-Fade / Image Swap on Hover

👋
🛹
カーソルを乗せる

同じ位置に2枚の画像を重ねておき、ホバー時にopacityだけをクロスフェード。位置がズレないよう両方とも同じ基準点(今回は足元)で揃える。

同じ位置にキャラクターの画像を2枚重ねて配置して。
普段は1枚目を表示、カーソルを合わせたら2枚目にふわっとクロスフェードで切り替わるようにして。
2枚とも足元(下端)を基準に揃えて、ホバーしたときにキャラの大きさが変わって見えないようにして。
装飾

楕円の吹き出し

CSS Speech Bubble (radius ellipse + tail)

やっほー!
ミートボーだよ

角丸ではなく縦横で半径比を変えた楕円形。尻尾は小さい円を`::after`で作って斜めに回転させるだけ。画像もJSも使わない。

吹き出しを作って。角丸の四角ではなく、楕円形(border-radius: 50% / 62%くらいの比率)にして。
右下に疑似要素(::after)で小さい円を1つ作り、-25度くらい回転させて尻尾に見せて。
画像は使わずCSSだけで作って。
インタラクション

URLを汚さないモーダル

Checkbox-Hack Modal (JS-free toggle)

閉じてもスクロール位置は動きません

見えないcheckboxとlabelの組み合わせで開閉を管理。href="#"を閉じるボタンに使うとページの先頭にジャンプしてしまうので、代わりにこの方式を使う。

モーション

線からひょっこり

Peek Reveal / Boundary-Crossing Hover

🙂
枠にカーソルを乗せる

普段は透明にして線の下に隠しておき、親要素をホバーしたときだけ上にスライドしながら顔を出す。線をまたぐ動きが「ひょっこり」感を作る。

この枠(フッターの罫線など)にカーソルを合わせたときだけ、
キャラクターが線の上からひょっこり顔を出すようにして。
普段はopacity:0で透明にして少し下にずらしておき、
ホバーしたら上にスライドしながらフェードインさせて。
モーション

内容に合わせて出てくる挿絵

Content-Matched Hover Illustration

話を盛らない。転んだ話も書きます。 🤕

カードごとに内容に合ったイラストを用意し、ホバー時だけ右下に表示。本文の幅はホバーしていない時から狭めに固定しておくことで、イラストが出た瞬間にレイアウトが動かない。

カードにカーソルを合わせたときだけ、右下にそのカードの内容に合ったイラストが
ふわっと出てくるようにして。
文章の横幅は、ホバーしていないときから最初から少し狭めに固定しておいて。
イラストが出てきたタイミングで文字とかぶってレイアウトが動かないようにして。
レイアウト

壊れないサイズ調整

Fluid Sizing with clamp()

👟 いつでもいっしょ
右下の点線をドラッグ

font-size・padding・max-widthをすべてclamp()で指定。画面が狭くても文字が親要素からはみ出さず、広い画面ではちゃんと大きくなる。

この要素のサイズ(文字の大きさ・余白)を画面幅に応じてなめらかに変えて。
狭い画面のときの最小サイズと、広い画面のときの最大サイズを決めて、
font-sizeやpaddingをclamp(最小値, 可変値, 最大値)の形で指定して。
インタラクション

JSなしで開く一覧

Native <details> Disclosure

Lv.1〜10を全部見る
  • Lv.1 非エンジニアでも公開
  • Lv.2 AIが指摘した最重要バグ

ブラウザ標準の<details>/<summary>を使う。開閉の状態管理もアニメーションもブラウザ任せで、JSは一切書かない。矢印マークだけCSSで自作。この指示文ブロック自体もこの仕組みで開閉しています。

一覧をクリックで開閉できるようにして。
JavaScriptは使わず、HTML標準のdetails要素とsummary要素を使って実装して。
開閉を示す矢印マークはブラウザ標準のものを消して、自分でCSSでデザインして。
インタラクション

普段は黒、大事な時だけ緑

Two-Tier Accent Reveal

重要度の低いボタンは普段黒・グレー枠で控えめに。特に押してほしいボタンだけ最初から色(緑)を付けて差をつける。ホバーで緑になるのは「控えめ組」だけ。

このボタンは普段は黒文字・グレーの枠だけの控えめなデザインにして、
カーソルを合わせたときだけブランドカラーの緑に変わるようにして。
一番押してほしいボタンだけは、最初から緑背景・白文字にして目立たせて。