ハンバーガーメニューを右側から表示するために、リストをright:-400px;で指定し、画面の外側に隠したいと思っています。
しかしposition: absolute;で右側に配置するとスクロールできるようになってしまい画像のように隠れてくれません。
left: -400px; では画面はスクロールできずに隠れてくれるのですがなぜでしょうか?
html
1 <header> 2 <div class="container"> 3 <img src="images/header_logo.png" alt="ロゴ"> 4 <nav class="header-nav"> 5 <input id="menu" type="checkbox"> 6 <label for="menu" class="open">≡</label> 7 <label for="menu" class="back"></label> 8 <label for="menu" class="close">×</label> 9 10 <ul> 11 <li><a href="">企業理念</a></li> 12 <li><a href="">施工事例</a></li> 13 <li><a href="">採用情報</a></li> 14 <li><a href="">お問い合わせ</a></li> 15 </ul> 16 </nav> 17 </div> 18 <h1>街を作る。未来を作る。</h1> 19 </header>
css
1header ul { 2 position: absolute; 3 right: -400px; 4 width: 30%; 5 text-align: center; 6 font-size: 28px; 7 background: red; 8} 9 10#menu:checked ~ ul { 11 position: fixed; 12 right: 0; 13 background: white; 14 transition: 0.2s; 15}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/02 14:41
2021/01/02 14:55
2021/01/04 07:40
2021/01/04 17:03