スマホ表示時にハンバーガーメニューが表示され、通常はメニューを上の方に隠しておいてクリックをすると上からヘッダーメニューが下りてくる、という仕組みを作っています。
でもなぜかクリックしてもメニューが下りてきません。
どこの記述が誤っているのか教えていただけますでしょうか。(><)
HTML
1 <header> 2 <h1 class="title_sp">LAMINA</h1> 3 <i class="fas fa-bars fa-lg"></i> 4 <input type="checkbox" class="drawer_menu"> 5 <nav> 6 <ul> 7 <li><a href="#"><i class="fas fa-angle-right"></i>NEW IN</a></li> 8 <li><a href="#"><i class="fas fa-angle-right"></i>COLLECTION</a></li> 9 <li><a href="#"><i class="fas fa-angle-right"></i>LOOKBOOK</a></li> 10 <li><a href="#" class="title">LAMINA</a></li> 11 <li><a href="#"><i class="fas fa-angle-right"></i>OUR STORY</a></li> 12 <li><a href="#"><i class="fas fa-angle-right"></i>NEWS</a></li> 13 <li><a href="#"><i class="fas fa-angle-right"></i>STORES</a></li> 14 </ul> 15 </nav> 16 </header>
CSS
1@media (max-width:767px){ 2 header{ 3 width: 100%; 4 max-width: 767px; 5 height: 95px; 6 background-color: #FFF; 7 position: fixed; 8 display: block; 9 z-index: 90; 10 } 11 header .title_sp{ /*サイトタイトルを中央に表示*/ 12 font-family: 'Bodoni URW'; 13 display: block; 14 font-size: 3.6rem; 15 font-weight: bold; 16 text-align: center; 17 line-height: 95px; 18 margin-bottom: 0; 19 } 20 header .fa-bars{ /*画面右にバーアイコンを表示*/ 21 display: block; 22 font-size: 3.0rem; 23 position: absolute; 24 top: 35px; 25 right: 15px; 26 } 27 header ul{ 28 display: block; 29 text-align: left; 30 width: 100%; 31 line-height: 30px; 32 transform: translateY(-150%); /*ここでヘッダーメニューを上に持っていく(非表示に)*/ 33 } 34 header ul li a{ 35 display: block; 36 max-width: 767px; 37 color: #333333; 38 text-decoration: none; 39 font-size: 1.5rem; 40 font-family: 'Bodoni URW'; 41 letter-spacing: 1.7px; 42 padding: 5px 0; 43 } 44 header ul li a::after{ 45 content: none; 46 } 47 header ul li .fa-angle-right{ 48 display: inline-block; 49 padding: 0 5px 0 20px; 50 } 51 header ul li a:hover{ 52 background-color:#FFFFFF; 53 } 54 .drawer_menu{ 55 display: block; 56 transform: scale(2.5); 57 position: fixed; 58 top: 35px; 59 right: 17px; 60 opacity: 0; 61 z-index: 100; 62 } 63 .drawer_menu:hover{ 64 cursor: pointer; 65 } 66 .drawer_menu:checked ~ header ul{ 67 transform: translateY(0%); /*ここでメニューを下げる*/ 68 transition: 0.5s; 69 } 70 header .title{ 71 display: none; 72 } 73}
【補足】
htmlのnavタグにクラス名header_navをつけて、試しに記述を下記のように変えたところ機能しました。
CSS
1.drawer_menu:checked ~ .header_nav{ 2 display: none; 3}
でも、transform: translateY(0%);では動作しません。。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/13 09:39
2021/07/13 09:42
2021/07/13 09:48