ハンバーガーメニュー

この記事は約3分で読めます。

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');
	}
}

コメント

タイトルとURLをコピーしました