I am trying to achieve the same effect here so when you hover on the div it folds out and shows the content, but I cannot figure out how to do this.
So far I am able to make the content slide in by using the following code. Code underneath and jsfiddle can be seen here.
html
<div class="artist artist-1"></div>
<div id="artist-text">Hi there</div>
css
.artist-1:hover + #artist-text {
display: block;
}
#artist-text {
display: none;
background-color: #000000;
width: 130px;
padding: 10px;
position: absolute;
left: 50%;
top: 60%;
animation-duration: 1s;
animation-name: slideLeft;
}
.artist {
height: 100px;
width: 100px;
}
.artist-1 {
background-color: red;
position: absolute;
left: 20%;
top: 40%;
}
@keyframes slideLeft {
from {
margin-left: 100%;
width: 100%;
}
to {
margin-left: 0%;
width: 100%;
}
}
I'm going to try and guide you in the right direction. They're using 3D transforms to create the flip card effect, alongside the
transform-origin
property. Here's a link to a tutorial showing an effect on which you can base your code:https://desandro.github.io/3dtransforms/docs/card-flip.html
Also, here's a live example. It's probably not exactly what you need, but it will help you.
The animation is in :hover, it's called the flip card effect.
You can alter the effect by playing around with the transform & transition values.
Cubic bezier if you're wondering where to get the values for the cubic-bezier function.