<div class="wrapper">
  <div id="card">
    <div class="front">
      这是正面哦
    </div>
    <div class="back">
      这是背面~
    </div>
  </div>
</div>
#card {
  width: 400px;
  height: 180px;
  margin: 30px auto;
  position: relative;
  cursor: pointer;
  
  transform-style: preserve-3d;
  perspective: 500px;
/*   perspective-origin: bottom; */
}
.front,
.back {
  width: 100%;
  height: 100%;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12), 0 0 6px rgba(0, 0, 0, 0.04);
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  
  transition: transform 0.5s;
  backface-visibility: hidden;
}
.front {
  background: linear-gradient(135deg, #ddd 25%, transparent 25%) -10px 0,
    linear-gradient(225deg, #ddd 25%, transparent 25%) -10px 0,
    linear-gradient(315deg, #ddd 25%, transparent 25%),
    linear-gradient(45deg, #ddd 25%, transparent 25%);
  background-size: calc(2 * 10px) calc(2 * 10px);
  
  transform: rotateY(0);
}
.back {
  background-image: linear-gradient(0deg, transparent 50%, skyblue 50%);
  background-size: 50px 50px;
  
  transform: rotateY(180deg);
}
#card:hover .front{
  transform: rotateY(180deg);
}
#card:hover .back{
  transform: rotateY(360deg);
}
Run Pen

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.