How to Create a Flop Animation Using Pure CSS

The following example shows you how to create a flip animation using pure CSS.

Author: Nuts

Official Account: " Big Front-End Tour "

Huawei cloud sharing expert, InfoQ contract author, Alibaba Cloud expert blogger, 51CTO blog chief experience officer, one of the members of the open source project GVA , focusing on the sharing of big front-end technologies, including Flutter, applet, Android, VUE, JavaScript.

chip

HTML

<body>
    <h1>大前端之旅</h1>
    <h3>Flipping Card: An Example</h3>

    <div class="card">
        <div class="card__content">
            <div class="card__front">
                <h1>?</h1>
            </div>
            <div class="card__back">
                <h1>This is a big secret</h1>
            </div>
        </div>
    </div>
</body>

CSS

  .card {
    
    
            margin: auto;
            width: 300px;
            height: 400px;
            perspective: 1000px;
            background-color: transparent;
        }

        .card__content {
    
    
            position: relative;
            width: 100%;
            height: 100%;
            text-align: center;
            transition: all 1s;
            transform-style: preserve-3d;
            box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.15);
        }

        .card:hover .card__content {
    
    
            transform: rotateY(180deg);
        }

        .card__front,
        .card__back {
    
    
            position: absolute;
            width: 100%;
            height: 100%;
            -webkit-backface-visibility: hidden;
            backface-visibility: hidden;

            display: flex;
            justify-content: center;
            align-items: center;
            color: white;
        }

        .card__front {
    
    
            background-color: red;
            font-size: 150px;
        }

        .card__back {
    
    
            background-color: indigo;
            transform: rotateY(180deg);
            font-size: 36px;
        }

full code

<!DOCTYPE html>
<html>

<head>
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <style>
        .card {
      
      
            margin: auto;
            width: 300px;
            height: 400px;
            perspective: 1000px;
            background-color: transparent;
        }

        .card__content {
      
      
            position: relative;
            width: 100%;
            height: 100%;
            text-align: center;
            transition: all 1s;
            transform-style: preserve-3d;
            box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.15);
        }

        .card:hover .card__content {
      
      
            transform: rotateY(180deg);
        }

        .card__front,
        .card__back {
      
      
            position: absolute;
            width: 100%;
            height: 100%;
            -webkit-backface-visibility: hidden;
            backface-visibility: hidden;

            display: flex;
            justify-content: center;
            align-items: center;
            color: white;
        }

        .card__front {
      
      
            background-color: red;
            font-size: 150px;
        }

        .card__back {
      
      
            background-color: indigo;
            transform: rotateY(180deg);
            font-size: 36px;
        }
    </style>
    <title>大前端之旅</title>
</head>

<body>
    <h1>大前端之旅</h1>
    <h3>Flipping Card: An Example</h3>

    <div class="card">
        <div class="card__content">
            <div class="card__front">
                <h1>?</h1>
            </div>
            <div class="card__back">
                <h1>This is a big secret</h1>
            </div>
        </div>
    </div>
</body>

</html>

last words

We've looked at an end-to-end example of a flip card effect using pure CSS

Guess you like

Origin blog.csdn.net/qq_39132095/article/details/123174210