コピペでできる!cssとhtmlのみで作るハンバーガーメニューのアクション12選

CSS HTML
 2018.05.21

ハンバーガーメニューはちょいちょい使いますが、ホバー時のアクションがいつも同じものの使い回しになってませんか?
基本的な「×(バツ)」に切り替わるものからちょっと可愛いアクションや「!(エクスクラメーション)」に変わるものまで集めました。
イメージに合わせてアクションも切り替えてみてはいかがでしょう?

browser:  65 11 20 10 

ハンバーガーメニューのアクション[12選]

ホバーでゆっくり×(バツ)になるハンバーガーメニュー

ニャン易度
<div class="cp_hmenuac01">
<span class="cp_bar"></span>
</div>
.cp_hmenuac01 .cp_bar,
.cp_hmenuac01 .cp_bar:before,
.cp_hmenuac01 .cp_bar:after {
display: block;
width: 40px;
height: 5px;
content: '';
-webkit-transition: all 0.5s ease-in-out;
transition: all 0.5s ease-in-out;
border-radius: 5px;
background: #00acc1;
}
.cp_hmenuac01 .cp_bar {
position: relative;
margin: 5px 0;
}
.cp_hmenuac01 .cp_bar:before,
.cp_hmenuac01 .cp_bar:after {
position: absolute;
}
.cp_hmenuac01 .cp_bar:before {
top: 11px;
}
.cp_hmenuac01 .cp_bar:after {
bottom: 11px;
}
.cp_hmenuac01 {
position: absolute;
width: 40px;
padding: 1.5em;
cursor: pointer;
}
.cp_hmenuac01:hover .cp_bar {
background: transparent;
}
.cp_hmenuac01:hover .cp_bar:before {
top: 0;
transform: rotate(45deg);
}
.cp_hmenuac01:hover .cp_bar:after {
top: 0;
transform: rotate(-45deg);
}

ホバーでゆっくり×(バツ)になるハンバーガーメニュー2

ニャン易度
<div class="cp_hmenuac02">
<span class="cp_bar"></span>
</div>
.cp_hmenuac02 {
position: absolute;
padding: 1.5em;
width: 40px;
cursor: pointer;
}
.cp_hmenuac02 .cp_bar,
.cp_hmenuac02 .cp_bar:before,
.cp_hmenuac02 .cp_bar:after {
display: block;
width: 40px;
height: 5px;
content: '';
-webkit-transition: all 0.5s ease-in-out;
transition: all 0.5s ease-in-out;
border-radius: 5px;
background: #FF5722;
}
.cp_hmenuac02 .cp_bar {
position: relative;
margin: 5px 0;
}
.cp_hmenuac02 .cp_bar:before,
.cp_hmenuac02 .cp_bar:after {
position: absolute;
}
.cp_hmenuac02 .cp_bar:before {
top: 11px;
}
.cp_hmenuac02 .cp_bar:after {
bottom: 11px;
}
.cp_hmenuac02:hover .cp_bar:after {
-webkit-transform: rotate(-35deg) translateX(-20px);
transform: rotate(-35deg) translateX(-20px);
}
.cp_hmenuac02:hover .cp_bar {
-webkit-transform: translateX(20px);
transform: translateX(20px);
background: transparent;
}
.cp_hmenuac02:hover .cp_bar:before {
-webkit-transform: rotate(35deg) translateX(-20px);
transform: rotate(35deg) translateX(-20px);
}

ホバーでパタンと×(バツ)になるハンバーガーメニュー

ニャン易度
<div class="cp_hmenuac03">
<span class="cp_bar"></span>
</div>
.cp_hmenuac03 .cp_bar,
.cp_hmenuac03:before,
.cp_hmenuac03:after {
display: block;
width: 40px;
height: 5px;
content: '';
-webkit-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
border-radius: 5px;
background-color: #2196F3;
}
.cp_hmenuac03 .cp_bar {
position: relative;
margin: 5px 0;
}
.cp_hmenuac03 {
position: absolute;
padding: 1.5em;
width: 40px;
cursor: pointer;
}
.cp_hmenuac03:hover .cp_bar {
-webkit-transform: scale(0);
transform: scale(0);
}
.cp_hmenuac03:hover:before {
-webkit-transform: translateY(10px) rotate(135deg);
transform: translateY(10px) rotate(135deg);
}
.cp_hmenuac03:hover:after {
-webkit-transform: translateY(-10px) rotate(-135deg);
transform: translateY(-10px) rotate(-135deg);
}

ホバーで真ん中から×(バツ)が出てくるハンバーガーメニュー

ニャン易度
<div class="cp_hmenuac04">
<span></span>
<span></span>
<span></span>
<span></span>
</div>
.cp_hmenuac04 {
position: absolute;
padding: 1.5em;
width: 40px;
height: 20px;
cursor: pointer;
}
.cp_hmenuac04 > span {
position: absolute;
top: 50%;
left: 50%;
display: block;
width: 40px;
height: 5px;
border-radius: 5px;
-webkit-transition: all 0.5s ease-in-out;
transition: all 0.5s ease-in-out;
-webkit-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
background: #EC407A;
}
.cp_hmenuac04 > span:nth-child(1) {
-webkit-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
-webkit-transform: translate(-50%,-50%) translateY(-10px);
transform: translate(-50%,-50%) translateY(-10px);
}
.cp_hmenuac04 > span:nth-child(4) {
-webkit-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
-webkit-transform: translate(-50%,-50%) translateY(10px);
transform: translate(-50%,-50%) translateY(10px);
}
.cp_hmenuac04:hover > span:nth-child(1) {
-webkit-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
-webkit-transform: translate(-50%,-50%) translateY(-35px);
transform: translate(-50%,-50%) translateY(-35px);
opacity: 0;
}
.cp_hmenuac04:hover > span:nth-child(4) {
-webkit-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
-webkit-transform: translate(-50%,-50%) translateY(35px);
transform: translate(-50%,-50%) translateY(35px);
opacity: 0;
}
.cp_hmenuac04:hover > span:nth-child(2) {
-webkit-transition: all 0.5s ease-in-out;
transition: all 0.5s ease-in-out;
-webkit-transform: translate(-50%,-50%) rotate(40deg);
transform: translate(-50%,-50%) rotate(40deg);
}
.cp_hmenuac04:hover > span:nth-child(3) {
-webkit-transition: all 0.5s ease-in-out;
transition: all 0.5s ease-in-out;
-webkit-transform: translate(-50%,-50%) rotate(-40deg);
transform: translate(-50%,-50%) rotate(-40deg);
}

ホバーでニュインと伸びるハンバーガーメニュー

ニャン易度
<div class="cp_hmenuac05">
<span class="cp_bar"></span>
</div>
.cp_hmenuac05 {
position: absolute;
padding: 1.5em;
width: 40px;
cursor: pointer;
}
.cp_hmenuac05 .cp_bar,
.cp_hmenuac05 .cp_bar:before,
.cp_hmenuac05 .cp_bar:after {
display: block;
width: 40px;
height: 5px;
content: '';
-webkit-transition: all 0.5s ease-in-out;
transition: all 0.5s ease-in-out;
border-radius: 5px;
background: #009688;
}
.cp_hmenuac05 .cp_bar {
position: relative;
margin: 5px 0;
}
.cp_hmenuac05 .cp_bar:before,
.cp_hmenuac05 .cp_bar:after {
position: absolute;
}
.cp_hmenuac05 .cp_bar:before {
top: 11px;
}
.cp_hmenuac05 .cp_bar:after {
bottom: 11px;
}
.cp_hmenuac05:hover .cp_bar,
.cp_hmenuac05:hover .cp_bar:before,
.cp_hmenuac05:hover .cp_bar:after {
-webkit-animation: hmenuac 0.3s cubic-bezier(0, 0, 0.2, 1) 1;
animation: hmenuac 0.3s cubic-bezier(0, 0, 0.2, 1) 1;
}
.cp_hmenuac05:hover .cp_bar:before {
-webkit-animation-delay: 0.1s;
animation-delay: 0.1s;
}
.cp_hmenuac05:hover .cp_bar:after {
-webkit-animation-delay: 0.2s;
animation-delay: 0.2s;
}
@-webkit-keyframes hmenuac {
60% {
-webkit-transform: scaleX(1.4);
transform: scaleX(1.4);
}
100% {
-webkit-transform: scaleX(1);
transform: scaleX(1);
}
}
@keyframes hmenuac {
60% {
-webkit-transform: scaleX(1.4);
transform: scaleX(1.4);
}
100% {
-webkit-transform: scaleX(1);
transform: scaleX(1);
}
}

ホバーでバーの色が変わるハンバーガーメニュー

ニャン易度
<div class="cp_hmenuac06">
<span></span>
<span></span>
<span></span>
</div>
.cp_hmenuac06 {
position: absolute;
padding: 1.5em;
width: 40px;
cursor: pointer;
}
.cp_hmenuac06 > span {
position: relative;
display: block;
width: 40px;
height: 5px;
border-radius: 5px;
margin-top: 5px;
background: #1470e9;
}
.cp_hmenuac06 > span:after {
position: absolute;
width: 0%;
height: 100%;
content: '';
border-radius: 5px;
-webkit-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
background: rgba(233,30,99 ,0.9);
}
.cp_hmenuac06 > span:nth-child(2):after {
-webkit-transition-delay: 0.1s;
transition-delay: 0.1s;
}
.cp_hmenuac06 > span:nth-child(3):after {
-webkit-transition-delay: 0.2s;
transition-delay: 0.2s;
}
.cp_hmenuac06:hover > span:after {
width: 100%;
}

ホバーで3本のバーが1本になるハンバーガーメニュー

ニャン易度
<div class="cp_hmenuac07">
<span></span>
<span></span>
<span></span>
</div>
.cp_hmenuac07 {
position: absolute;
padding: 1.5em;
width: 40px;
cursor: pointer;
}
.cp_hmenuac07 > span {
position: relative;
display: block;
width: 100%;
height: 5px;
margin: 5px auto;
-webkit-transition: all 0.5s ease-in-out;
transition: all 0.5s ease-in-out;
border-radius: 5px;
background: #f44336;
}
.cp_hmenuac07:hover > span:first-of-type {
-webkit-transform: translateY(200%);
transform: translateY(200%);
}
.cp_hmenuac07:hover > span:last-of-type {
-webkit-transform: translateY(-200%);
transform: translateY(-200%);
}

ホバーでバーの間隔が広がるハンバーガーメニュー

ニャン易度
<div class="cp_hmenuac08">
<span></span>
<span></span>
<span></span>
</div>
.cp_hmenuac08 {
position: absolute;
padding: 1.5em;
width: 40px;
cursor: pointer;
}
.cp_hmenuac08 > span {
position: relative;
display: block;
width: 100%;
height: 5px;
margin: 5px auto;
-webkit-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
border-radius: 5px;
background: #3F51B5;
}
.cp_hmenuac08:hover > span:first-of-type {
-webkit-transform: translateY(-100%);
transform: translateY(-100%);
}
.cp_hmenuac08:hover > span:last-of-type {
-webkit-transform: translateY(100%);
transform: translateY(100%);
}

ホバーでバーがちょっとずつずれて斜めになるハンバーガーメニュー

ニャン易度
<div class="cp_hmenuac09">
<span></span>
<span></span>
<span></span>
</div>
.cp_hmenuac09 {
position: absolute;
padding: 1.5em;
width: 40px;
cursor: pointer;
}
.cp_hmenuac09 > span {
position: relative;
display: block;
width: 100%;
height: 5px;
margin: 5px auto;
-webkit-transition: all 0.5s ease-in-out;
transition: all 0.5s ease-in-out;
border-radius: 5px;
background: #FFC107;
}
.cp_hmenuac09 > span:first-of-type,
.cp_hmenuac09 > span:last-of-type {
-webkit-transform: translateX(0);
transform: translateX(0);
}
.cp_hmenuac09:hover > span:first-of-type {
-webkit-transform: translateX(0.4rem);
transform: translateX(0.4rem);
}
.cp_hmenuac09:hover > span:last-of-type {
-webkit-transform: translateX(-0.4rem);
transform: translateX(-0.4rem);
}

ホバーでmenuの文字が現れるハンバーガーメニュー

ニャン易度
menu
<div class="cp_hmenuac10">
<span class="cp_bar1st"></span>
<span class="cp_bar2nd"></span>
<span class="cp_bar3rd"></span>
<span class="cp_text">menu</span>
</div>
.cp_hmenuac10 {
position: absolute;
width: 40px;
height: 20px;
padding: 1.5em;
cursor: pointer;
}
.cp_hmenuac10 .cp_bar1st,
.cp_hmenuac10 .cp_bar2nd,
.cp_hmenuac10 .cp_bar3rd {
position: absolute;
width: 40px;
height: 5px;
-webkit-transition: all 0.5s ease-in-out;
transition: all 0.5s ease-in-out;
border-radius: 5px;
background: #00acc1;
}
.cp_hmenuac10 .cp_bar1st {
top: 21px;
}
.cp_hmenuac10 .cp_bar2nd {
top: 50%;
-webkit-transition: opacity 0.3s ease-in-out;
transition: opacity 0.3s ease-in-out;
transform: translateY(-50%);
}
.cp_hmenuac10 .cp_bar3rd {
bottom: 21px;
}
.cp_hmenuac10 .cp_text {
position: absolute;
top: 50%;
left: 50%;
-webkit-transition: opacity 0.3s ease-in-out;
transition: opacity 0.3s ease-in-out;
-webkit-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
opacity: 0;
color: #00acc1;
}
.cp_hmenuac10:hover .cp_bar1st {
top: 8px;
}
.cp_hmenuac10:hover .cp_bar3rd {
bottom: 8px;
}
.cp_hmenuac10:hover .cp_bar2nd {
opacity: 0;
}
.cp_hmenuac10:hover .cp_text {
opacity: 1;
}

ホバーでくるっと回って+(プラス)になるハンバーガーメニュー

ニャン易度
<div class="cp_hmenuac11">
<span></span>
<span></span>
<span></span>
</div>
.cp_hmenuac11 {
position: absolute;
width: 40px;
padding: 1.5em;
cursor: pointer;
}
.cp_hmenuac11 > span {
display: block;
width: 100%;
height: 5px;
margin: 5px auto;
-webkit-transition: all 0.5s ease-in-out;
transition: all 0.5s ease-in-out;
border-radius: 5px;
background: #F06292;
}
.cp_hmenuac11:hover > span:first-child {
-webkit-transform: translateY(10px) rotate(-90deg);
transform: translateY(10px) rotate(-90deg);
opacity: 0;
}
.cp_hmenuac11:hover > span:last-child {
-webkit-transform: translateY(-10px) rotate(90deg);
transform: translateY(-10px) rotate(90deg);
}
.cp_hmenuac11:hover > span:nth-child(2) {
-webkit-transform: rotate(180deg);
transform: rotate(180deg);
}

ホバーでくるっと回って!(エクスクラメーション)になるハンバーガーメニュー

ニャン易度
<div class="cp_hmenuac12">
<span></span>
<span></span>
<span></span>
</div>
.cp_hmenuac12 {
position: absolute;
width: 40px;
padding: 1.5em;
cursor: pointer;
}
.cp_hmenuac12 > span {
display: block;
width: 100%;
height: 5px;
margin: 5px auto;
-webkit-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
border-radius: 5px;
background: #1976D2;
}
.cp_hmenuac12:hover > span:first-child {
-webkit-transform: rotate(-80deg);
transform: rotate(-80deg);
width: 60%;
}
.cp_hmenuac12:hover > span:last-child {
-webkit-transform: rotate(100deg) translateY(3px);
transform: rotate(100deg) translateY(3px);
width: 14%;
height: 5px;
}
.cp_hmenuac12:hover > span:nth-child(2) {
-webkit-transform: rotate(-90deg);
transform: rotate(-90deg);
width: 0%;
opacity: 0;
}

copypet.jp

CSS3などで新たに追加された要素・装飾方法など、日々コードを書いていないと忘れてしまったり、ささっとプロトタイプを作る時などちょっとしたことに時間をかけている暇はない。そんな時に「あ〜、あれストックしときゃよかったなぁ」って困った自分用のストックブログです。カスタマイズなどがしやすいよう、昨今のweb制作に取り入れられる一般的なコードを中心に掲載しています。

More Info

こんな記事はいかがですか?