レイアウト
端まで伸びるヒーロー
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="#"を閉じるボタンに使うとページの先頭にジャンプしてしまうので、代わりにこの方式を使う。
JavaScriptを使わずにCSSだけでモーダル(ポップアップ)を作って。
非表示のcheckboxと、それに対応するlabelの組み合わせで開閉を管理して。
閉じるボタンにhref="#"は使わないで(ページの一番上にジャンプしてしまうため)。
labelのfor属性を使って同じcheckboxを開く用・閉じる用の両方から操作して。
モーション
線からひょっこり
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
重要度の低いボタンは普段黒・グレー枠で控えめに。特に押してほしいボタンだけ最初から色(緑)を付けて差をつける。ホバーで緑になるのは「控えめ組」だけ。
このボタンは普段は黒文字・グレーの枠だけの控えめなデザインにして、
カーソルを合わせたときだけブランドカラーの緑に変わるようにして。
一番押してほしいボタンだけは、最初から緑背景・白文字にして目立たせて。