Your — Codes

Create a awesome and hover able card component using html & css only with source code

Created At6/23/2024
Updated At6/24/2024

Learn how to create a awesome & beautiful card component with css hover effects using html and css only

hover able card component using html and css with source code

To create this kind of awesome animated card UI using html & CSS only you will need to follow these steps.

prerequisites

  • Basic understandings about HTML
  • Basic understanding of CSS (cascading style sheet)
  • knowledge of code editor & static web pages (not compulsory)

Create index of HTML in root

In the root of the project create a basic index.html file and paste this code.

index.html
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <link rel="stylesheet" href="style.css">
    <title>Card hover effects using HTML, CSS</title>
  </head>
  <body>
    <main>
      <div class="list">
        <div class="item"><img src="./img/1.webp" alt="" /></div>
        <div class="item"><img src="./img/2.webp" alt="" /></div>
        <div class="item"><img src="./img/3.webp" alt="" /></div>
        <div class="item"><img src="./img/4.webp" alt="" /></div>
        <div class="item"><img src="./img/5.webp" alt="" /></div>
        <div class="item"><img src="./img/6.webp" alt="" /></div>
        <div class="item"><img src="./img/7.webp" alt="" /></div>
        <div class="item"><img src="./img/8.webp" alt="" /></div>
        <div class="item"><img src="./img/9.webp" alt="" /></div>
        <div class="item"><img src="./img/10.webp" alt="" /></div>
      </div>
    </main>
  </body>
</html>

Then next

Create a stylesheet file along with HTML file

Create a basic style.css with the index.html file then paste the following code in style.css

style.css
* {
    padding: 0;
    margin: 0;
}

body {
  display: flex;
  align-items: center;
  height: 100vh;
  background: #16242b;
  justify-items: center;
}

main {
  width: 100%;
  height: 100%;
  display: grid;
  align-content: center;
}

.list {
  display: flex;
  justify-items: center;
  justify-content: center;
  align-items: center;
  align-content: center;
  transform-style: preserve-3d;
  transform: perspective(1000px);
}

.item {
  padding: 0 0.5rem;
  display: flex;
  height: 100%;
}

.list .item {
  transition: 0.5s;
  filter: brightness(0);
}

.list .item:hover {
  filter: brightness(1);
  transform: translateZ(200px);
}
.list .item:hover + * {
  filter: brightness(0.6);
  transform: translateZ(150px) rotateY(40deg);
}

.list .item:hover + * + * {
  filter: brightness(0.4);
  transform: translateZ(70px) rotateY(20deg);
}

.list .item:hover + * + * + * {
  filter: brightness(0.2);
  transform: translateZ(30px) rotateY(10deg);
}
.list .item:has(+ *:hover) {
  filter: brightness(0.6);
  transform: translateZ(150px) rotateY(-40deg);
}

.list .item:has(+ * + * :hover) {
  filter: brightness(0.4);
  transform: translateZ(70px) rotateY(-20deg);
}

.list .item:has(+ * + * + *:hover) {
  filter: brightness(0.2);
  transform: translateZ(30px) rotateY(-10deg);
}

.item > img {
  width: 100px;
  object-fit: cover;
  aspect-ratio: 9 / 16;
  object-position: center;
}

Need a complete explanation?

If you want to learn step by step process about creating this animation then you can follow this Youtube video here

Download source code

Here's the GitHub's repo link

HTML & css hover able card component