← back to CSS3 loading animationscompare with ground truth →
model output
Gemini 3 Flash Preview
CSS3 loading animations
A 0.83T 0.27
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>Orbiting Particles Animation</title>
7 <style>
8 /*
9 Analysis of the video:
10 - Background: Very dark gray/black (#0b0b0b).
11 - Elements: 4 tiny red particles/dots.
12 - Movement: Orbiting a central point in a tilted circular path.
13 - Timing: One full rotation takes approximately 2 seconds.
14 - Perspective: The path is viewed at an angle, making it look like an ellipse or a line at certain points.
15 */
16
17 body, html {
18 margin: 0;
19 padding: 0;
20 width: 100%;
21 height: 100%;
22 background-color: #0b0b0b;
23 display: flex;
24 justify-content: center;
25 align-items: flex-start; /* Particles are at the top in the video */
26 overflow: hidden;
27 }
28
29 .container {
30 position: relative;
31 margin-top: 50px; /* Positioned near the top as seen in the video */
32 width: 100px;
33 height: 100px;
34 /* Tilt the container to create the 3D elliptical perspective */
35 transform-style: preserve-3d;
36 transform: rotateX(75deg) rotateZ(20deg);
37 }
38
39 .particle {
40 position: absolute;
41 top: 50%;
42 left: 50%;
43 width: 3px;
44 height: 3px;
45 background-color: #ff0000;
46 border-radius: 50%;
47 /* Slight glow to match the video artifacting */
48 box-shadow: 0 0 2px #ff0000;
49
50 /* Circular orbit animation */
51 animation: orbit 2s linear infinite;
52 }
53
54 /* Offset each particle to create the "trailing" effect */
55 .particle:nth-child(1) { animation-delay: 0s; }
56 .particle:nth-child(2) { animation-delay: -0.1s; }
57 .particle:nth-child(3) { animation-delay: -0.2s; }
58 .particle:nth-child(4) { animation-delay: -0.3s; }
59
60 @keyframes orbit {
61 from {
62 /*
63 Move particle to the edge of the circle (30px radius)
64 and rotate it around the center
65 */
66 transform: translate(-50%, -50%) rotate(0deg) translateX(30px);
67 }
68 to {
69 transform: translate(-50%, -50%) rotate(360deg) translateX(30px);
70 }
71 }
72
73 </style>
74</head>
75<body>
76
77 <div class="container">
78 <div class="particle"></div>
79 <div class="particle"></div>
80 <div class="particle"></div>
81 <div class="particle"></div>
82 </div>
83
84 <script>
85 // No JavaScript required for this simple CSS-based animation loop.
86 // The timing and perspective are handled via CSS transforms and keyframes.
87 </script>
88</body>
89</html>