Flip-Menu CSS
by David Kyle
HTML
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css">
<h1>Card Flip with Text</h1>
<h3>Hover over the image below:</h3>
<div class="flip-card">
<div class="flip-card-inner">
<div class="flip-card-front">
<div class="toggler">
<i id="config-toggler" class="fas fa-cogs left"> - Configuration</i>
</div>
<ul>
<li>FOM Option 1</li>
</ul>
</div>
<div class="flip-card-back">
<div class="toggler-alt">
<i id="fom-toggler" class="fas fa-sync left"> - Operations</i>
</div>
<ul>
<li>FCM Option 1
<ul>
<li>Sub</li>
</ul></li>
</ul>
</div>
</div>
</div>
CSS
body {
font-family: Arial, Helvetica, sans-serif;
}
.flip-card {
background-color: transparent;
width: 300px;
height: 300px;
perspective: 1000px;
}
.toggler, .toggler-alt {
height: 30px;
box-shadow: 0px 2px 2px #000000;
}
.flip-card-inner {
position: relative;
width: 100%;
height: 100%;
text-align: center;
transition: transform 0.6s;
transform-style: preserve-3d;
box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
}
.flip-card:hover .flip-card-inner {
}
.flip-card-front, .flip-card-back {
position: absolute;
width: 100%;
height: 100%;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
.left {
float: left;
height: 30px;
padding: 6px 2px;
text-decoration: none;
cursor: pointer;
}
.flip-card-front, .toggler-alt {
background-color: #bbb;
color: black;
}
.flip-card-back, .toggler {
background-color: #2980b9;
color: white;
}
.flip-card-back {
transform: rotateX(180deg);
}
JavaScript
$(function() {
$(document).on('click', '#config-toggler', function(e) {
$(".flip-card .flip-card-inner").css('transform', 'rotateX(180deg)');
});
$(document).on('click', '#fom-toggler', function(e) {
$('.flip-card .flip-card-inner').css('transform', 'rotateX(0deg)');
});
});