Skip to content

Commit 9523e96

Browse files
committed
ハンバーガー表記
1 parent 8b2fa9a commit 9523e96

2 files changed

Lines changed: 108 additions & 1 deletion

File tree

assets/css/layout.css

Lines changed: 102 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,65 @@
268268
}
269269

270270
/* ==========================================================================
271-
5. レスポンシブデザイン
271+
5. ハンバーガーメニュー
272+
========================================================================== */
273+
.nav-toggle {
274+
background: none;
275+
border: none;
276+
cursor: pointer;
277+
padding: 0.5rem;
278+
position: relative;
279+
z-index: 30; /* ヘッダーより上に */
280+
}
281+
282+
.nav-toggle__icon {
283+
display: block;
284+
width: 2rem;
285+
height: 2px;
286+
background: var(--color-heading);
287+
position: relative;
288+
transition: background 0.3s ease-in-out;
289+
}
290+
291+
.nav-toggle__icon::before,
292+
.nav-toggle__icon::after {
293+
content: "";
294+
display: block;
295+
width: 2rem;
296+
height: 2px;
297+
background: var(--color-heading);
298+
position: absolute;
299+
left: 0;
300+
transition:
301+
transform 0.3s ease-in-out,
302+
top 0.3s ease-in-out;
303+
}
304+
305+
.nav-toggle__icon::before {
306+
top: -8px;
307+
}
308+
309+
.nav-toggle__icon::after {
310+
top: 8px;
311+
}
312+
313+
/* メニューが開いたときのアニメーション */
314+
.nav-toggle.is-active .nav-toggle__icon {
315+
background: transparent; /* 真ん中の線を消す */
316+
}
317+
318+
.nav-toggle.is-active .nav-toggle__icon::before {
319+
top: 0;
320+
transform: rotate(45deg);
321+
}
322+
323+
.nav-toggle.is-active .nav-toggle__icon::after {
324+
top: 0;
325+
transform: rotate(-45deg);
326+
}
327+
328+
/* ==========================================================================
329+
6. レスポンシブデザイン
272330
========================================================================== */
273331
@media (max-width: 768px) {
274332
.site-header__inner {
@@ -313,4 +371,47 @@
313371
.site-footer__right a {
314372
font-size: 0.8rem;
315373
}
374+
.site-header__inner {
375+
flex-direction: row; /* モバイルでもロゴとトグルは横並び */
376+
align-items: center;
377+
justify-content: space-between; /* 両端に配置 */
378+
padding: 0.75rem 1.25rem;
379+
}
380+
381+
.site-logo {
382+
margin-bottom: 0; /* 元に戻す */
383+
}
384+
385+
.nav-toggle {
386+
display: block; /* モバイルで表示 */
387+
}
388+
389+
.site-nav {
390+
/* 初期状態ではメニューを非表示 */
391+
display: block;
392+
position: fixed;
393+
top: 0;
394+
left: -100%; /* 画面外に隠す */
395+
width: 100%;
396+
height: 100vh;
397+
background: var(--color-panel); /* 背景色 */
398+
flex-direction: column;
399+
justify-content: center;
400+
align-items: center;
401+
gap: 1.5rem;
402+
transition: left 0.3s ease-in-out;
403+
z-index: 25; /* ヘッダーの下、トグルの上に */
404+
padding-top: 5rem; /* ヘッダー分スペースを確保 */
405+
}
406+
407+
.site-nav.is-open {
408+
left: 0; /* メニューを開く */
409+
}
410+
411+
.site-nav a {
412+
font-size: 1.5rem; /* メニュー項目の文字サイズを大きく */
413+
padding: 0.75rem 1.5rem;
414+
width: fit-content;
415+
margin: 0 auto;
416+
}
316417
}

partials/header.html

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@
55
<span class="site-logo__text">pankun.dev</span>
66
</a>
77

8+
<button
9+
class="nav-toggle"
10+
aria-label="Toggle navigation"
11+
>
12+
<span class="nav-toggle__icon"></span>
13+
</button>
814
<nav class="site-nav">
915
<a
1016
href="https://breadmotion.github.io/WebSite/index.html"

0 commit comments

Comments
 (0)