前提・実現したいこと
書籍を使ってCSSの勉強をする過程で
理解できない箇所があり、教えていただきたいです。
発生している問題・エラーメッセージ
ハンバーガーボタンのクリックでナビゲーションの表示を行うコードがあるのですが、
CSSの下記の部分で".nav"を削るとナビゲーションが表示されなくなります。
これはなぜなのでしょうか?
CSS
1.nav-toggle:checked ~ .nav .nav-list{ 2 display: block; 3}
該当のソースコード
HTML
1<header class="header"> 2<!-- (ヘッダーを記述する) --> 3 <!-- ロゴ画像 --> 4 <h1 class="logo"> 5 <a href="./index.html"><img src="img/logo.svg" alt="Aqua"></a> 6 </h1> 7 <!-- ハンバーガーボタン --> 8 <input type="checkbox" name="navToggle" id="navToggle" class="nav-toggle"> 9 <label for="navToggle" class="btn-burger"></label> 10 <!-- ナビゲーション --> 11 <nav class="nav"> 12 <ul class="nav-list"> 13 <li>ホーム</li> 14 <li><a href="guide/index.html">営業案内</a></li> 15 <li><a href="contact/index.html">お問い合わせ</a></li> 16 </ul> 17 </nav> 18</header>
CSS
1/* ハンバーガーボタン */ 2.nav-toggle{ 3 display: none; 4} 5 6.btn-burger{ 7 display: block; 8 position: absolute; /* .heightが基準 */ 9 top: 5px; 10 right: 10px; 11 height: 44px; 12 width: 44px; 13 z-index: 2; 14 background: url(../img/burger.svg) center center / 35px 20px no-repeat; 15 cursor: pointer; 16} 17 18.nav-toggle:checked ~ .btn-burger{ 19 background: url(../img/close.svg) center center / 26px 26px no-repeat; 20} 21 22.nav-toggle:checked ~ .nav .nav-list{ 23 display: block; 24} 25 26/* ナビゲーション */ 27.nav{ 28 background: url("../img/nav_bg.png") center center / cover no-repeat; 29 padding-top: 10px; 30} 31 32.nav-list{ 33 display: none; 34 margin: 0; 35 padding-bottom: 10px; 36} 37 38.nav li{ 39 padding: 10px; 40} 41 42.nav a{ 43 color: #fff; 44}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/28 07:33
2021/07/28 07:42
2021/07/28 09:17
2021/07/28 13:00
2021/07/29 00:10