HTML
1<header> 2 <div class="container"> 3 <div class="header-inner"> 4 <button class="hamburger" id="mobile-menu"></button> 5 </div><!-- /.header-inner --> 6 </div><!-- /.container --> 7</header> 8 9<nav> 10 <div class="container"> 11 <ul class="navbar"> 12 <li><a href="#">ホーム</a></li> 13 <li><a href="#">会社案内</a></li> 14 <li><a href="#">製品案内</a></li> 15 <li><a href="#">サポート</a></li> 16 <li><a href="#">お問い合わせ</a></li> 17 </ul> 18 </div> 19</nav>
css
1hamburger { 2 border: none; 3 width: 50px; 4 height: 50px; 5 background: url("ハンバーガーメニューの画像") no-repeat; 6 background-size: contain; 7} 8 9.navbar { 10 display: none; 11 margin: 0; 12 padding: 0; 13 list-style-type: none; 14 background: #565656; 15} 16.navbar li a { 17 display: block; 18 padding: 10px 8px; 19 color: #fff; 20 text-decoration: none; 21} 22 23@media only screen and (min-width: 768px) { 24 .hamburger { 25 display: none; 26 } 27 .navbar { 28 display: flex !important; 29 justify-content: flex-end; 30 } 31}
jQuery
1(function($){ 2 $('#mobile-menu').on('click', function(){ 3 $('.navbar').slideToggle() 4 }) 5})(jQuery);
編集したので、もう一度よろしくお願いいたします
画面幅が768px以上の時に、navbarクラスにdisplay:flexを設定し、このブレークポイントを境にdisplay:flexとdisplay: none;は切り替わるのですが、jQueryを付け加えると、機能しなくなり、うまく表示できていないです。display:flexに!importantを追加すると解決しますが、理由がわかりません
どなたか教えていただけたら幸いです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/08 14:06
2018/09/08 14:14