ナビゲーション
グローバルメニュー
ボタンを押すと朱色のパネルが上から開き、大きな英字の項目が順に現れる全画面メニュー。キーボード操作とEscキーでの開閉に対応します。
ライセンス 参照のみ
ソースコードは配布していません。
この動きの特徴
- 全画面に開くメニュー
- 項目が順に現れる表示
- フォーカス移動とEscキーで閉じる
- 背景の操作を一時停止
- JavaScriptなしでは通常のリンク一覧
導入と調整
使い方
src/Component.astro をヘッダーとして配置し、メニュー項目を items に渡します。
<GlobalMenu
brand={{ name: 'STUDIO', sub: 'Creative Office', href: '/' }}
items={[
{ label: '私たちについて', en: 'About', href: '/about' },
{ label: '仕事', en: 'Works', href: '/works' },
]}
note="つくることで、社会を少し前へ。"
cta={{ label: 'お問い合わせ', href: '/contact' }}
/>動きと操作
src/motion.tsのmountGlobalMenu(root)がボタンとパネルを有効にし、後片付け用の関数を返します。- 開くとパネルが上から下へ開き、英字の項目がマスクの下から順に現れます。閉じるときは同じ動きを速く逆再生します。
- 開いている間はメニュー以外を操作できない状態(inert)にし、ページのスクロールを止めます。最初のリンクへフォーカスを移し、Tabキーはメニュー内を巡回します。
- Escキーまたはボタンで閉じるとフォーカスはボタンに戻ります。項目を選ぶとパネルを閉じてから移動します。
prefers-reduced-motion: reduceのときは短いフェードだけで開閉します。- JavaScriptが使えない環境では、ボタンを出さずに通常のリンク一覧として表示します。
調整する箇所
- パネルの色は
--gm-panel、文字色は--gm-panel-ink、バーの背景は--gm-paperで変更できます。 - 項目の現れる間隔は
motion.tsのstagger、開く速さはパネルのdurationで調整します。 - ページに固定ヘッダーがある場合は、各セクションの
scroll-margin-topをバーの高さに合わせてください。
利用条件
ライセンスは未設定です。現在はソースを配布せず、見た目と動きの参考として掲載しています。
仕様・利用条件
仕様
- 分類
- ナビゲーション
- 更新日
- 2026.10.30
- ライセンス
- 未設定(参照のみ)
- 使用技術
- Astro・GSAP 3
ソースと利用条件
参照のみ見た目と動きの見本として掲載しています。
利用条件(ライセンス)がまだ決まっていないため、ソースコードは配布していません。 プレビューでの確認と、1-cost.comでの提案・制作のご相談にお使いください。
- ライセンス
- 未設定
- 公開ファイル
- なし
