animation2code benchmark
For best compatibility, please view this dashboard in a Chrome browser.
← back to CSS Spinners

model output

Gemini 3 Flash Preview

CSS Spinners

A 0.91T 0.25
compare with ground truth →
1<!DOCTYPE html>
2<html lang="en">
3<head>
4    <meta charset="UTF-8">
5    <meta name="viewport" content="width=device-width, initial-scale=1.0">
6    <title>Drop Animation Recreation</title>
7    <style>
8        /* Reset and layout */
9        body, html {
10            margin: 0;
11            padding: 0;
12            width: 100%;
13            height: 100%;
14            display: flex;
15            flex-direction: column;
16            overflow: hidden;
17            background-color: #ffffff;
18        }
19
20        /* Top blue section */
21        .header {
22            flex: 0 0 33.33%; /* Takes up roughly top 1/3 of the screen */
23            background-color: #9acefa;
24            display: flex;
25            justify-content: center;
26            align-items: center;
27            position: relative;
28        }
29
30        /* Bottom white section */
31        .content {
32            flex: 1;
33            background-color: #ffffff;
34        }
35
36        /* The Teardrop Shape 
37           We use a div with specific border radius and border.
38           The 'point' is created by leaving one corner at 0 radius.
39        */
40        .drop-icon {
41            width: 44px;
42            height: 44px;
43            border: 3px solid #3e88e5; /* The darker blue stroke */
44            border-radius: 50% 50% 50% 0;
45            box-sizing: border-box;
46            
47            /* Initial rotation to set the base orientation */
48            transform-origin: center center;
49            
50            /* Animation properties */
51            animation: swing 3s ease-in-out infinite;
52        }
53
54        /**
55         * Animation Analysis:
56         * The shape oscillates.
57         * It points roughly at 45 degrees (2 o'clock) at the start/end of the cycle
58         * and points straight up (0 degrees) in the middle of the cycle.
59         * Because the base shape (radius 50 50 50 0) points bottom-left at 0deg rotation,
60         * we offset it to match the visual.
61         */
62        @keyframes swing {
63            0% {
64                transform: rotate(45deg);
65            }
66            50% {
67                transform: rotate(-10deg); /* Swings to pointing upwards */
68            }
69            100% {
70                transform: rotate(45deg);
71            }
72        }
73    </style>
74</head>
75<body>
76
77    <!-- Header containing the animated icon -->
78    <div class="header">
79        <div class="drop-icon"></div>
80    </div>
81
82    <!-- Empty white content area as seen in the video -->
83    <div class="content"></div>
84
85    <script>
86        /**
87         * The animation is handled entirely via CSS keyframes for 
88         * performance and smoothness, matching the timing observed 
89         * in the 1.5s loop sequence (approx 3s for a full back-and-forth swing).
90         */
91    </script>
92</body>
93</html>