Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
開閉UIのアニメーション設計
Search
hiro
July 04, 2026
Design
930
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
開閉UIのアニメーション設計
記事版:
https://zenn.dev/zozotech/articles/79c6e3cf401e55
hiro
July 04, 2026
More Decks by hiro
See All by hiro
エンジニアの成長を止めないAI活用
hiro0218
2
150
ZOZOTOWN に CSS in JS(Emotion)を導入して1年後の状況
hiro0218
7
150k
アクセシビリティを意識して、 画像の代替テキスト(alt)を 決めるときの観点
hiro0218
1
370
Next.jsで開発を始める前に知っておくと良さそうなこと
hiro0218
2
700
CSS in JS を何となく知る
hiro0218
1
650
ITCSSの良いところ
hiro0218
1
800
Other Decks in Design
See All in Design
CULTURE DECK/Creative Director
mhand01
0
1.4k
UI生成の鍵は要件整理 -デザインプロセスのエッセンスを プロンプト作成に取り入れよう-
abokadotyann
4
1k
富山デザイン勉強会_デザイン思考.pdf
keita_yoshikawa
2
110
「おすすめ」はなぜ信用されないのか - 信頼を築くUI/UX設計
ryu1013
0
210
セブンデックス プロジェクト事例 / innovation Scenes
sevendex
1
1.6k
怖くないアクセシビリティ -カウンターカルチャーとしてのアッカン東京-
securecat
1
230
Техники структурирования беседы с собой, заказчиком и командо
ashapiro
0
240
図面資産×AI 眠れる資産を起こす挑戦
aonomasahiro
0
200
Accelerating performance improvement based on a software review evaluation matrix
kitanosirokuma
0
280
開発・制作におけるUI・UXデザインの重要性について~UI・UXデザインってなんだろう~
yamasaku
0
160
エンジニアがAI活用してスライドデザインできる世界が来たよ!
kaikou
1
370
絵や写真から学ぶ、要素がもたらす副作用
kspace
0
460
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
480
HDC tutorial
michielstock
2
790
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
690
Why Our Code Smells
bkeepers
PRO
340
58k
We Are The Robots
honzajavorek
0
300
Odyssey Design
rkendrick25
PRO
2
750
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
700
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
860
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.5k
Transcript
フロントエンド技術共有会@紀尾井町 LODGE 17F 開閉UIのアニメーション設計 2026/07/03 ZOZOTOWN開発本部 開発2部 菊地宏之
2 まず、動かさない アニメーションは、足す前に削る。 動きが価値になるのは、理解を助けるときだけである。 使う頻度が高い操作ほど、動かさない 繰り返すたびに動きを待つことになり、アニメーション自体が遅延になる キーボード操作では、待ち時間を増やさない 反応・位置関係・状態変化を伝えない動きは入れない
3 開閉UIにアニメーションさせたときの違和感 開閉はときどき起きる操作であり、動かす価値はある。 ただ、タイミングを設計しないと違和感が残る。 外枠と中身が同時に動くと、読む場所が定まらない 外枠が終わるまで中身を待たせると、間延びして見える 開くときと同じ長さで閉じると、中身が長い時間残る
4 デモを見てみる Before: 外枠と中身が同時に動く After: 開くときは外枠 → 中身 / 閉じるときは中身
→ 外枠 https://codepen.io/hiro0218/full/yygorRM
5 反応、 読む場所、 完了 を分けて伝える 1 開く 外枠を先に広げる 2 閉じる
中身を先に弱める
6 Step 1 開く 操作への反応を先に返し、 読む場所を確保する 1 開く 外枠を先に広げる 2
閉じる 中身を先に弱める
7 開くときは、外枠で読む場所を先に確保する 中身を突然表示すると、ユーザーは読む場所を探す。 外枠を先に動かすと、操作への反応が返り、読む場所も先に分かる。 外枠 中身 外枠 <details> 見出し <summary>
中身本文 先に動かす 反応と読む場所を示す 短くずらす 外枠が動き出した 直後に表示する
8 開くときは、短くずらして重ねる 外枠はすぐ動かして、操作への反応を返す。 中身は外枠の動きが始まった直後に表示し、待たせずに視線を本文へ誘導する。 注意 同時に動かす 外枠 中身 視線が二つに分かれる 注意
外枠が終わってから 表示する 外枠 中身 中身が表示されるまで 間が空く 推奨 短くずらして重ねる 外枠 中身 反応は先、中身は後 ※ 読む場所と操作への反応が十分伝わるなら、同時に動かしてもよい。
9 Step 2 閉じる 中身を弱め、 完了を早く伝える 2 閉じる 中身を先に弱める 1
開く 外枠を先に広げる
10 閉じるときは、中身を先に弱める 閉じる操作では、本文を読み続けるより、閉じた状態へ戻ることを優先する。 中身を先に弱め(フェードアウトなど) 、弱め終わる前に、位置関係を追える範囲で 外枠を畳む。 1 中身を弱める → 2
重ねて外枠を畳む → 3 閉じた状態
11 閉じる時間は開くより短くする 開くときは、操作への反応をすぐ返しつつ、中身は短くずらして表示する。 閉じるときは、本文が不要になったため、完了を早く伝える。 開く 外枠 中身 閉じる 中身 外枠
図は比率の例。実装では、閉じる状態へ戻ったことを追える範囲で短くする。 開始 完了 開始 完了
12 まとめ 開閉UIのアニメーションは、 反応、読む場所、完了を分けて伝える 反応、読む場所、完了のどれも伝えない動きは入れない。 動かすなら、開くときは外枠を先に動かして反応と読む場所を伝え、 閉じるときは中身を先に弱めて完了を早く伝える。
ご清聴ありがとうございました