Anime Flip Reveal Card
anime.jsでカードが滑らかにフリップし裏面が表示されるエフェクト。
HTML
<div class="afrc-card" id="afrc-card"> <div class="afrc-face afrc-front"><h3>Front</h3><p>Click to flip</p></div> <div class="afrc-face afrc-back"><h3>Back</h3><p>Secret content</p></div> </div>
CSS
.afrc-card {
width: 240px;
height: 160px;
cursor: pointer;
perspective: 800px;
position: relative;
}
.afrc-face {
position: absolute;
inset: 0;
backface-visibility: hidden;
border-radius: 16px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
color: #e2e8f0;
}
.afrc-front { background: #1e293b; }
.afrc-back {
background: #312e81;
transform: rotateY(180deg);
}
.afrc-face h3 { margin: 0 0 4px; font-size: 18px; }
.afrc-face p { margin: 0; font-size: 12px; opacity: 0.7; }
JavaScript
const card = document.getElementById('afrc-card');
const front = card.querySelector('.afrc-front');
const back = card.querySelector('.afrc-back');
let flipped = false;
card.addEventListener('click', function() {
flipped = !flipped;
anime({
targets: front,
rotateY: flipped ? 180 : 0,
duration: 600,
easing: 'easeInOutQuad'
});
anime({
targets: back,
rotateY: flipped ? 360 : 180,
duration: 600,
easing: 'easeInOutQuad'
});
});