cssのみでハンバーガーメニュー
<div id="sp_nav_wrapper"> <span id="sp_nav_button" onClick="sp_global_menu_display();"></span> </div>
#sp_nav_wrapper { display: block; position: absolute; top: 38px; right: 10px; width: 50px; height: 50px; } #sp_nav_button, #sp_nav_button::before, #sp_nav_button::after { content: ""; display: block; width: 40px; height: 5px; background: #000000; border-radius: 5px; cursor: pointer; transition: 0.5s; } #sp_nav_button { position: relative; margin: 5px 0; } #sp_nav_button::before, #sp_nav_button::after { position: absolute; } #sp_nav_button::before { top: 10px; } #sp_nav_button::after { bottom: 10px; } .sp_nav_button_active { background: transparent!important; } .sp_nav_button_active::after{ top: 0!important; transform: rotate(-45deg); } .sp_nav_button_active::before { top: 0!important; transform: rotate(45deg); }
jsでクリックイベントを作れば,メニューを表示できる。
ハンバーガーメニューは×に変わる。(バツがいやだったら,CSSの.sp_nav_button_activeもしくはJSのsetattributeをなくせばよい)
function sp_global_menu_display(){ var span=document.getElementById('sp_nav_button'); if(条件式){//メニューが表示されている条件式を入力 span.removeAttribute('class'); }else{ span.setAttribute('class','sp_nav_button_active'); } }
コメント