ProjectGenesis's picture
Create animated numbers (1–10) in the style of Netflix’s "Top 10" design.
64aa32a verified
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Bebas Neue', sans-serif;
background: #000;
color: white;
overflow: hidden;
}
.cinematic-number {
font-family: 'Bebas Neue', sans-serif;
background: linear-gradient(145deg, #8b0000, #ff0000, #8b0000);
background-size: 200% 200%;
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
text-shadow:
0 0 30px rgba(255, 0, 0, 0.8),
0 0 60px rgba(255, 0, 0, 0.6),
0 0 90px rgba(255, 0, 0, 0.4),
2px 2px 4px rgba(0, 0, 0, 0.8),
-2px -2px 4px rgba(255, 255, 255, 0.1);
position: relative;
animation: shimmer 3s ease-in-out infinite;
}
.cinematic-number::before {
content: attr(data-number);
position: absolute;
top: 2px;
left: 2px;
background: linear-gradient(145deg, #2a2a2a, #1a1a1a);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
z-index: -1;
}
.cinematic-number::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(circle at center, transparent 30%, rgba(255, 0, 0, 0.1) 100%);
border-radius: 10px;
z-index: -2;
}
@keyframes shimmer {
0%, 100% {
background-position: 0% 50%;
filter: brightness(1);
}
50% {
background-position: 100% 50%;
filter: brightness(1.2);
}
}
/* Animation Classes */
.zoom-animation {
animation: zoomIn 2s ease-out;
}
@keyframes zoomIn {
0% {
transform: scale(0.1) rotate(-10deg);
opacity: 0;
filter: blur(20px);
}
60% {
transform: scale(1.1) rotate(2deg);
opacity: 1;
filter: blur(0);
}
100% {
transform: scale(1) rotate(0);
}
}
.bounce-animation {
animation: bounceIn 1.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
@keyframes bounceIn {
0% {
transform: scale(0.3);
opacity: 0;
}
50% {
transform: scale(1.05);
}
70% {
transform: scale(0.9);
}
100% {
transform: scale(1);
opacity: 1;
}
}
.smoke-animation {
animation: smokeReveal 2.5s ease-out;
}
@keyframes smokeReveal {
0% {
transform: translateY(100px) scale(0.8);
opacity: 0;
filter: blur(30px);
}
50% {
transform: translateY(-20px) scale(1.1);
filter: blur(10px);
}
100% {
transform: translateY(0) scale(1);
opacity: 1;
filter: blur(0);
}
}
.glitch-animation {
animation: glitchFlicker 2s ease-out;
}
@keyframes glitchFlicker {
0%, 100% {
transform: translateX(0);
opacity: 1;
}
10%, 30%, 50%, 70%, 90% {
transform: translateX(-2px);
opacity: 0.8;
}
20%, 40%, 60%, 80% {
transform: translateX(2px);
opacity: 0.9;
}
}
.pulse-animation {
animation: energyPulse 2s ease-out;
}
@keyframes energyPulse {
0% {
transform: scale(0.5);
opacity: 0;
filter: brightness(0) blur(20px);
}
30% {
transform: scale(1.2);
filter: brightness(2) blur(5px);
}
50% {
transform: scale(0.9);
filter: brightness(1.5) blur(2px);
}
70% {
transform: scale(1.1);
filter: brightness(1.8) blur(1px);
}
100% {
transform: scale(1);
opacity: 1;
filter: brightness(1) blur(0);
}
}
/* Particle Effects */
.particle {
position: absolute;
width: 4px;
height: 4px;
background: #ff0000;
border-radius: 50%;
pointer-events: none;
animation: particleFloat 2s ease-out forwards;
}
@keyframes particleFloat {
0% {
transform: translate(0, 0) scale(1);
opacity: 1;
}
100% {
transform: translate(var(--tx), var(--ty)) scale(0);
opacity: 0;
}
}
/* Responsive adjustments */
@media (max-width: 768px) {
.cinematic-number {
font-size: 12rem !important;
}
}
@media (max-width: 480px) {
.cinematic-number {
font-size: 8rem !important;
}
}