Forked from Captain Anonymous's Pen rEzdi.
A Pen by Nick Schubach on CodePen.
Forked from Captain Anonymous's Pen rEzdi.
A Pen by Nick Schubach on CodePen.
| <section class="flipCardWidget"> | |
| <ul> | |
| <li class="card"> | |
| <div class="front"><span>1</span></div> | |
| <div class="back"><span>2</span></div> | |
| </li> | |
| <li class="card"> | |
| <div class="front"><span>1</span></div> | |
| <div class="back"><span>2</span></div> | |
| </li> | |
| <li class="card"> | |
| <div class="front"><span>1</span></div> | |
| <div class="back"><span>2</span></div> | |
| </li> | |
| </ul> | |
| </section> |
| $('.card').on('click', function () { | |
| $('.card.selected').removeClass('selected'); | |
| $(this).addClass('selected'); | |
| }); |
| * { | |
| margin: 0; | |
| padding: 0; | |
| box-sizing: border-box; | |
| } | |
| body { | |
| background-color: lightgray; | |
| } | |
| .flipCardWidget { | |
| margin: 20px; | |
| } | |
| .flipCardWidget ul { | |
| list-style: none; | |
| } | |
| .flipCardWidget .card { | |
| display: inline-block; | |
| position: relative; | |
| width: 300px; | |
| height: 300px; | |
| } | |
| .flipCardWidget .card div { | |
| position: absolute; | |
| top: 0; | |
| bottom: 0; | |
| right: 0; | |
| left: 0; | |
| transition: transform 1s; | |
| perspective: 3000px; | |
| backface-visibility: hidden; | |
| } | |
| .flipCardWidget .card div span { | |
| display: inline-block; | |
| color: white; | |
| width: 100%; | |
| text-align: center; | |
| } | |
| .flipCardWidget .card .front { | |
| background: url(http://placekitten.com/300/300); | |
| -ms-transform: rotate( 360deg ) perspective(3000px); | |
| transform: rotateY( 360deg ) perspective(3000px); | |
| } | |
| .flipCardWidget .card.selected .front { | |
| -ms-transform: rotate( 180deg ) perspective(3000px); | |
| transform: rotateY( 180deg ) perspective(3000px); | |
| } | |
| .flipCardWidget .card .back { | |
| background: gray; | |
| -ms-transform: rotate( 180deg ) perspective(3000px); | |
| transform: rotateY( 180deg ) perspective(3000px); | |
| } | |
| .flipCardWidget .card.selected .back { | |
| -ms-transform: rotate( 0deg ) perspective(3000px); | |
| transform: rotateY( 0deg ) perspective(3000px); | |
| } |