CSS to achieve the image hovering mouse folding effect

CSS to achieve the image hovering mouse folding effect

CSS to achieve the image hovering mouse folding effect

1. Implementation points

  • The fold is accomplished by multiple block-level elements;
  • The picture is presented as a background picture;
  • Set the same background image for each block-level element, and use background-position to control the display area (similar to a sprite image);
  • The folding effect is achieved through the ransform attribute;
  • The size of the entire wrapped div is the original size of the image. If the size is changed, you need to adjust the background-size and other properties to adjust the background image size.

2. Effect display

Picture folding effect display

3. Source code

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>hover-folder</title>
  <style>
    html,
    body,
    ul,
    li {
      margin: 0;
      padding: 0
    }

    ul {
      list-style: none;
      display: block;
    }

    body {
      width: 100%;
      height: 100vh;
    }

    .container {
      width: 100%;
      height: 100%;
      /* background-color: aqua; */
      display: flex;
      justify-content: center;
      align-items: center;
      transform: scale(0.5);
    }

    .wrap {
      box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .5);
      width: 1280px;
      height: 854px;
      font-size: 0;
      line-height: 0;
      position: relative;

    }

    .image {
      cursor: pointer;
    }

    .abs-wrap {
      height: 100%;
      width: 100%;
      /* top: 0;
      left: 0; */
      /* position: absolute; */
      z-index: 10;

    }

    .abs-wrap:hover>.abs:nth-child(2) {
      transform: matrix(0.8, -0.2, 0, 1, -1, 0);
    }

    .abs-wrap:hover>.abs:nth-child(3) {
      transform: matrix(0.8, 0.2, 0, 1, -53, -50);
    }

    .abs-wrap:hover>.abs:nth-child(4) {
      transform: matrix(0.8, -0.2, 0, 1, -105, 0);
    }

    .abs-wrap:hover>.abs:nth-child(5) {
      transform: matrix(0.8, 0.2, 0, 1, -157, -50);
    }

    .abs {
      transform-style: preserve-3d;
      transform-origin: left center;
      transition: .4s ease-in-out;
      width: 20%;
      height: 100%;
      /* background-color: rgba(0, 0, 0, .5); */
      display: inline-block;
      background-size: 100%;
      background: url('https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1600577868615&di=d2979a54604ecb409e3329527d0220fa&imgtype=0&src=http%3A%2F%2Ft9.baidu.com%2Fit%2Fu%3D29311073%2C358824429%26fm%3D79%26app%3D86%26f%3DJPEG%3Fw%3D1280%26h%3D854');
    }

    .abs:nth-child(1) {
      background-position: 0% 0%;
    }

    .abs:nth-child(2) {
      background-position: 25% 0%;
    }

    .abs:nth-child(3) {
      background-position: 50% 0%;
    }

    .abs:nth-child(4) {
      background-position: 75% 0%;
    }

    .abs:nth-child(5) {
      background-position: 100% 0%;
    }
  </style>
</head>

<body>
  <div class="container">
    <div class="wrap">
      <ul class="abs-wrap">
        <li class="abs"></li>
        <li class="abs"></li>
        <li class="abs"></li>
        <li class="abs"></li>
        <li class="abs"></li>

      </ul>

    </div>

  </div>

</body>

</html>

Summarize

This is the end of this article about how to use CSS to achieve the folding effect when the mouse is hovering over an image. For more relevant CSS content about folding an image when the mouse is hovering over an image, please search for previous articles on 123WORDPRESS.COM or continue to browse the related articles below. I hope that everyone will support 123WORDPRESS.COM in the future!

<<:  How to use the jquery editor plugin tinyMCE

>>:  Summary of HTML horizontal and vertical centering issues

Recommend

MySQL SHOW PROCESSLIST assists in the entire process of troubleshooting

1. SHOW PROCESSLIST command SHOW PROCESSLIST show...

One sql statement completes MySQL deduplication and keeps one

A few days ago, when I was working on a requireme...

js to make a simple calculator

This article shares the specific code of making a...

What is a MySQL tablespace?

The topic I want to share with you today is: &quo...

SQL ROW_NUMBER() and OVER() method case study

Syntax format: row_number() over(partition by gro...

Docker uses nextcloud to build a private Baidu cloud disk

Suddenly, I needed to build a private service for...

JavaScript implements a box that follows the mouse movement

This article shares the specific code of JavaScri...

How to compile and install opencv under ubuntu

Easy installation of opencv2: conda install --cha...

vue+springboot realizes login verification code

This article example shares the specific code of ...

Detailed explanation of Linux command unzip

Table of contents 1. unzip command 1.1 Syntax 1.2...

Solution to the conflict between nginx and backend port

question: When developing the Alice management sy...

JavaScript adds event listeners to event delegation in batches. Detailed process

1. What is event delegation? Event delegation: Ut...

5 super useful open source Docker tools highly recommended

Introduction The Docker community has created man...

Detailed explanation of the use of props in React's three major attributes

Table of contents Class Component Functional Comp...

Global call implementation of Vue2.x Picker on mobile terminal

Table of contents What is the Picker component Pr...