Creates a HTML div card with two sides, which rotates on mouse hover utilizing transform, rotateY, transition. Sourced under a permissive license. Sourced under a permissive license.

Creates a HTML div card with two sides, which rotates on mouse hover utilizing transform, rotateY, transition

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<div class="card">
<div class="card-side front">
<div>Front Side</div>
</div>
<div class="card-side back">
<div>Back Side</div>
</div>
</div>
<style>
.card {
perspective: 150rem;
position: relative;
height: 40rem;
max-width: 400px;
margin: 2rem;
box-shadow: none;
background: none;
}
.card-side {
height: 35rem;
border-radius: 15px;
transition: all 0.8s ease;
backface-visibility: hidden;
position: absolute;
top: 0;
left: 0;
width: 80%;
padding: 2rem;
color: white;
}
.card-side.back {
transform: rotateY(-180deg);
background-color: #4158D0;
background-image: linear-gradient(43deg, #4158D0 0%,#C850C0 46%, #FFCC70 100%);
}
.card-side.front {
background-color: #0093E9;
background-image: linear-gradient(160deg, #0093E9 0%, #80D0C7 100%);
}
.card:hover .card-side.front {
transform: rotateY(180deg);
}
.card:hover .card-side.back {
transform: rotateY(0deg);
}
</style>
<div class="card"> <div class="card-side front"> <div>Front Side</div> </div> <div class="card-side back"> <div>Back Side</div> </div> </div> <style> .card { perspective: 150rem; position: relative; height: 40rem; max-width: 400px; margin: 2rem; box-shadow: none; background: none; } .card-side { height: 35rem; border-radius: 15px; transition: all 0.8s ease; backface-visibility: hidden; position: absolute; top: 0; left: 0; width: 80%; padding: 2rem; color: white; } .card-side.back { transform: rotateY(-180deg); background-color: #4158D0; background-image: linear-gradient(43deg, #4158D0 0%,#C850C0 46%, #FFCC70 100%); } .card-side.front { background-color: #0093E9; background-image: linear-gradient(160deg, #0093E9 0%, #80D0C7 100%); } .card:hover .card-side.front { transform: rotateY(180deg); } .card:hover .card-side.back { transform: rotateY(0deg); } </style>
<div class="card">
  <div class="card-side front">
    <div>Front Side</div>
  </div>
  <div class="card-side back">
    <div>Back Side</div>
  </div>
</div>

<style>
.card {
  perspective: 150rem;
  position: relative;
  height: 40rem;
  max-width: 400px;
  margin: 2rem;
  box-shadow: none;
  background: none;
}

.card-side {
  height: 35rem;
  border-radius: 15px;
  transition: all 0.8s ease;
  backface-visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 80%;
  padding: 2rem;
  color: white;
}

.card-side.back {
  transform: rotateY(-180deg);
  background-color: #4158D0;
  background-image: linear-gradient(43deg, #4158D0 0%,#C850C0 46%, #FFCC70 100%);
}

.card-side.front {
  background-color: #0093E9;
  background-image: linear-gradient(160deg, #0093E9 0%, #80D0C7 100%);
}

.card:hover .card-side.front {
  transform: rotateY(180deg);
}

.card:hover .card-side.back {
  transform: rotateY(0deg);
}
</style>

Tags: CSS, HTML, CSS, CSS code snippet, html code snippet, css transform, css rotateY, css transition, transform, rotateY, transition, rotating div css, rotating html div, css rotating card

Image: Unsplash license

CC BY 4.0 added intro and tags – 30 Seconds of Code