<div class="header">
	<input type="checkbox" class="ham-checkbox" id="ham-toggle">
	<label class="ham-wrapper" for="ham-toggle">
    	<div class="ham-icon"></div>
	</label>
    <nav class="ham-nav">
    	<ul>
        	<li><a href="#">sample</a></li>
        	<li><a href="#">sample</a></li>
        	<li><a href="#">sample</a></li>
        	<li><a href="#">sample</a></li>
        	<li><a href="#">sample</a></li>
        </ul>
    </nav>
</div>

<!--
2022-05-26
申し訳ありません。このコードを記事に書いたのですが、記事を書いた後にナビゲーションをヘッダーの外に出す方法を思いつきました。以下のURLにそのコードを記載します。
https://codepen.io/__kamin__/pen/MWQOdNp
https://codepen.io/__kamin__/pen/LYQOKzq
-->
/*------------------------------------------
				リセット
------------------------------------------*/

* {
	padding:0;
	margin:0;
}


/*------------------------------------------
				スタイル設定
------------------------------------------*/

/*****headerのスタイル設定*****/

.header {
	background:#CCC;
	width:100%;
	height:50px;
	position:fixed;
	filter:drop-shadow(0 0 10px rgba(0,0,0,.5));
}


/*****checkboxを見えなくする*****/

.ham-checkbox {
	display:none;
}


/*****クリックできる範囲を拡張&配置*****/

.ham-wrapper {
	display:block;
	width:40px;
	height:30px;
	position:absolute;
	top:7px;
	right:7px;
}


/*****三本線のスタイル設定*****/

.ham-icon , 
.ham-icon::before , 
.ham-icon::after {
	background-color:#333;
	width:40px;
	height:4px;
	right:0;
}

.ham-icon {
	position:relative;
	top:15px;
}

.ham-icon::before , 
.ham-icon::after {
	content:"";
	display:block;
	position:absolute;
}

.ham-icon::before {
	top:-15px;
}

.ham-icon::after {
	top:15px;
}


/*****ナビゲーションのスタイル設定*****/

.ham-nav {
	transform:scale(1,0);
	background-color:#CCC;
	position:fixed;
	width:100%;
	height:calc(100vh - 50px);
	top:50px;
	left:0;
  overflow-y:auto;
}

.ham-nav ul {
	padding:0 10%;
	border-top:1px solid #333;
}

.ham-nav li {
	list-style:none;
	border-bottom:1px solid #333;
}

.ham-nav a {
	display:block;
	padding:20px 0;
	text-align:center;
	text-decoration:none;
}


/*------------------------------------------
		checkboxがonの時の設定
------------------------------------------*/

/*****Xの設定*****/

.ham-checkbox:checked ~ .ham-wrapper .ham-icon {
	background-color:rgba(0,0,0,0);
}

.ham-checkbox:checked ~ .ham-wrapper .ham-icon::before , 
.ham-checkbox:checked ~ .ham-wrapper .ham-icon::after {
	top:0;
}

.ham-checkbox:checked ~ .ham-wrapper .ham-icon::before {
	transform:rotate(45deg);
}

.ham-checkbox:checked ~ .ham-wrapper .ham-icon::after {
	transform:rotate(-45deg);
}


/*****ナビゲーションの設定*****/

.ham-checkbox:checked ~ .ham-nav {
	transform:scale(1,1);
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.