Template:TextAnimations/styles.css: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
| Line 14: | Line 14: | ||
0%, 100% { | 0%, 100% { | ||
opacity: 0.3; | opacity: 0.3; | ||
filter: brightness(0. | filter: brightness(0.8); | ||
} | } | ||
50% { | 50% { | ||
| Line 60: | Line 60: | ||
.rainbow span { animation: hue-cycle 3s linear infinite !important; color: #ff0000 !important; } | .rainbow span { animation: hue-cycle 3s linear infinite !important; color: #ff0000 !important; } | ||
.text-animation-container.pulse { | .text-animation-container.pulse { | ||
animation: linear-pulse | animation: linear-pulse 3s linear infinite !important; | ||
display: inline-block !important; | display: inline-block !important; | ||
} | } | ||
Latest revision as of 22:31, 17 March 2026
/* 1. Keyframes */
@keyframes wave {
0%, 100% { top: 0; }
50% { top: -2px; }
}
@keyframes hue-cycle {
from { filter: hue-rotate(0deg); }
to { filter: hue-rotate(360deg); }
}
/* Linear Pulse - Ramps up and down evenly */
@keyframes linear-pulse {
0%, 100% {
opacity: 0.3;
filter: brightness(0.8);
}
50% {
opacity: 1;
filter: brightness(1.2);
}
}
/* Three distinct "shiver" paths to ensure variety */
@keyframes jolt-a {
0%, 100% { transform: translate(0, 0); }
25% { transform: translate(-0.3px, -0.5px); }
75% { transform: translate(0.2px, 0.4px); }
}
@keyframes jolt-b {
0%, 100% { transform: translate(0, 0); }
25% { transform: translate(0.3px, 0.5px); }
75% { transform: translate(-0.2px, -0.4px); }
}
@keyframes jolt-c {
0%, 100% { transform: translate(0, 0); }
25% { transform: translate(-0.2px, 0.5px); }
75% { transform: translate(0.3px, -0.5px); }
}
/* Helper classes assigned by JS */
.jolt-v1 { animation: jolt-a 0.35s linear infinite !important; }
.jolt-v2 { animation: jolt-b 0.35s linear infinite !important; }
.jolt-v3 { animation: jolt-c 0.35s linear infinite !important; }
/* 2. Container & Spans - Vital for MediaWiki */
.text-animation-container {
display: inline-block !important;
white-space: pre !important;
}
.text-animation-container span {
display: inline-block !important;
position: relative !important;
background: transparent !important;
}
/* 3. The Effects */
.wavy span { animation: wave 2.5s ease-in-out infinite !important; }
.rainbow span { animation: hue-cycle 3s linear infinite !important; color: #ff0000 !important; }
.text-animation-container.pulse {
animation: linear-pulse 3s linear infinite !important;
display: inline-block !important;
}
.jolt span {
display: inline-block !important;
margin: 0 0.1px !important;
}
/* Combined Effects */
.wavy.rainbow span { animation: wave 2.5s ease-in-out infinite, hue-cycle 3s linear infinite !important; }
/* 4. Formatting Utilities */
.force-glow, .force-glow span { text-shadow: 0 0 5px currentColor, 0 0 10px currentColor !important; }
.force-shadow, .force-shadow span { text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.5) !important; }
.force-bold, .force-bold span { font-weight: bold !important; }
.force-italic, .force-italic span { font-style: italic !important; }