Back to CSS Card Hover Effects Prismatic Sweep Pure CSS
Share
HTML
<div class="card-25">
  <div class="card-25__prism card-25__prism--a"></div>
  <div class="card-25__prism card-25__prism--b"></div>
  <div class="card-25__prism card-25__prism--c"></div>
  <div class="card-25__content">
    <span class="card-25__tag">Prism</span>
    <h4 class="card-25__title">Prismatic Sweep</h4>
    <p class="card-25__body">Three colour beams sweep across in sequence.</p>
  </div>
</div>
CSS
.card-25__tag {
  font-family: monospace;
  font-size: 10px;
  padding: 2px 8px;
  border-radius: 20px;
  background: rgba(124, 108, 255, 0.15);
  color: #7c6cff;
  border: 1px solid rgba(124, 108, 255, 0.3);
  display: inline-block;
  margin-bottom: 10px;
}
.card-25__title {
  font-size: 17px;
  font-weight: 700;
  color: #f0eeff;
  margin-bottom: 6px;
}
.card-25__body {
  font-size: 13px;
  color: #b8b6d4;
  line-height: 1.6;
}
.card-25 {
  width: 100%;
  max-width: 280px;
  position: relative;
  overflow: hidden;
  padding: 22px;
  border-radius: 14px;
  background: #111118;
  border: 1px solid rgba(255, 255, 255, 0.08);
  cursor: pointer;
  transition: border-color 0.3s;
}
.card-25:hover {
  border-color: rgba(255, 255, 255, 0.2);
}
.card-25__prism {
  position: absolute;
  inset: -20%;
  width: 30%;
  transform: skewX(-18deg) translateX(-180%);
  transition: transform 0.52s cubic-bezier(0.23, 1, 0.32, 1);
  opacity: 0.18;
}
.card-25__prism--a {
  background: #7c6cff;
  left: 10%;
  transition-delay: 0s;
}
.card-25__prism--b {
  background: #ff6c8a;
  left: 30%;
  transition-delay: 0.08s;
}
.card-25__prism--c {
  background: #3de8f5;
  left: 50%;
  transition-delay: 0.16s;
}
.card-25:hover .card-25__prism {
  transform: skewX(-18deg) translateX(700%);
}
.card-25__content {
  position: relative;
  z-index: 1;
}