#212121
1.uiverse { 2 --duration: 7s; 3 --easing: linear; 4 --c-color-1: rgba(255, 163, 26, .7); 5 --c-color-2: #1a23ff; 6 --c-color-3: #e21bda; 7 --c-color-4: rgba(255, 232, 26, .7); 8 --c-shadow: rgba(255, 223, 87, .5); 9 --c-shadow-inset-top: rgba(255, 223, 52, .9); 10 --c-shadow-inset-bottom: rgba(255, 250, 215, .8); 11 --c-radial-inner: #ffd215; 12 --c-radial-outer: #fff172; 13 --c-color: #fff; 14 -webkit-tap-highlight-color: transparent; 15 -webkit-appearance: none; 16 outline: none; 17 position: relative; 18 cursor: pointer; 19 border: none; 20 display: table; 21 border-radius: 24px; 22 padding: 0; 23 margin: 0; 24 text-align: center; 25 font-weight: 600; 26 font-size: 16px; 27 letter-spacing: 0.02em; 28 line-height: 1.5; 29 color: var(--c-color); 30 background: radial-gradient(circle, var(--c-radial-inner), var(--c-radial-outer) 80%); 31 box-shadow: 0 0 14px var(--c-shadow); 32} 33 34.uiverse:before { 35 content: ''; 36 pointer-events: none; 37 position: absolute; 38 z-index: 3; 39 left: 0; 40 top: 0; 41 right: 0; 42 bottom: 0; 43 border-radius: 24px; 44 box-shadow: inset 0 3px 12px var(--c-shadow-inset-top), inset 0 -3px 4px var(--c-shadow-inset-bottom); 45} 46 47.uiverse .wrapper { 48 -webkit-mask-image: -webkit-radial-gradient(white, black); 49 overflow: hidden; 50 border-radius: 24px; 51 min-width: 132px; 52 padding: 12px 0; 53} 54 55.uiverse .wrapper span { 56 display: inline-block; 57 position: relative; 58 z-index: 1; 59} 60 61.uiverse .wrapper .circle { 62 position: absolute; 63 left: 0; 64 top: 0; 65 width: 40px; 66 height: 40px; 67 border-radius: 50%; 68 filter: blur(var(--blur, 8px)); 69 background: var(--background, transparent); 70 transform: translate(var(--x, 0), var(--y, 0)) translateZ(0); 71 animation: var(--animation, none) var(--duration) var(--easing) infinite; 72} 73 74.uiverse .wrapper .circle.circle-1, .uiverse .wrapper .circle.circle-9, .uiverse .wrapper .circle.circle-10 { 75 --background: var(--c-color-4); 76} 77 78.uiverse .wrapper .circle.circle-3, .uiverse .wrapper .circle.circle-4 { 79 --background: var(--c-color-2); 80 --blur: 14px; 81} 82 83.uiverse .wrapper .circle.circle-5, .uiverse .wrapper .circle.circle-6 { 84 --background: var(--c-color-3); 85 --blur: 16px; 86} 87 88.uiverse .wrapper .circle.circle-2, .uiverse .wrapper .circle.circle-7, .uiverse .wrapper .circle.circle-8, .uiverse .wrapper .circle.circle-11, .uiverse .wrapper .circle.circle-12 { 89 --background: var(--c-color-1); 90 --blur: 12px; 91} 92 93.uiverse .wrapper .circle.circle-1 { 94 --x: 0; 95 --y: -40px; 96 --animation: circle-1; 97} 98 99.uiverse .wrapper .circle.circle-2 { 100 --x: 92px; 101 --y: 8px; 102 --animation: circle-2; 103} 104 105.uiverse .wrapper .circle.circle-3 { 106 --x: -12px; 107 --y: -12px; 108 --animation: circle-3; 109} 110 111.uiverse .wrapper .circle.circle-4 { 112 --x: 80px; 113 --y: -12px; 114 --animation: circle-4; 115} 116 117.uiverse .wrapper .circle.circle-5 { 118 --x: 12px; 119 --y: -4px; 120 --animation: circle-5; 121} 122 123.uiverse .wrapper .circle.circle-6 { 124 --x: 56px; 125 --y: 16px; 126 --animation: circle-6; 127} 128 129.uiverse .wrapper .circle.circle-7 { 130 --x: 8px; 131 --y: 28px; 132 --animation: circle-7; 133} 134 135.uiverse .wrapper .circle.circle-8 { 136 --x: 28px; 137 --y: -4px; 138 --animation: circle-8; 139} 140 141.uiverse .wrapper .circle.circle-9 { 142 --x: 20px; 143 --y: -12px; 144 --animation: circle-9; 145} 146 147.uiverse .wrapper .circle.circle-10 { 148 --x: 64px; 149 --y: 16px; 150 --animation: circle-10; 151} 152 153.uiverse .wrapper .circle.circle-11 { 154 --x: 4px; 155 --y: 4px; 156 --animation: circle-11; 157} 158 159.uiverse .wrapper .circle.circle-12 { 160 --blur: 14px; 161 --x: 52px; 162 --y: 4px; 163 --animation: circle-12; 164} 165 166@keyframes circle-1 { 167 33% { 168 transform: translate(0px, 16px) translateZ(0); 169 } 170 171 66% { 172 transform: translate(12px, 64px) translateZ(0); 173 } 174} 175 176@keyframes circle-2 { 177 33% { 178 transform: translate(80px, -10px) translateZ(0); 179 } 180 181 66% { 182 transform: translate(72px, -48px) translateZ(0); 183 } 184} 185 186@keyframes circle-3 { 187 33% { 188 transform: translate(20px, 12px) translateZ(0); 189 } 190 191 66% { 192 transform: translate(12px, 4px) translateZ(0); 193 } 194} 195 196@keyframes circle-4 { 197 33% { 198 transform: translate(76px, -12px) translateZ(0); 199 } 200 201 66% { 202 transform: translate(112px, -8px) translateZ(0); 203 } 204} 205 206@keyframes circle-5 { 207 33% { 208 transform: translate(84px, 28px) translateZ(0); 209 } 210 211 66% { 212 transform: translate(40px, -32px) translateZ(0); 213 } 214} 215 216@keyframes circle-6 { 217 33% { 218 transform: translate(28px, -16px) translateZ(0); 219 } 220 221 66% { 222 transform: translate(76px, -56px) translateZ(0); 223 } 224} 225 226@keyframes circle-7 { 227 33% { 228 transform: translate(8px, 28px) translateZ(0); 229 } 230 231 66% { 232 transform: translate(20px, -60px) translateZ(0); 233 } 234} 235 236@keyframes circle-8 { 237 33% { 238 transform: translate(32px, -4px) translateZ(0); 239 } 240 241 66% { 242 transform: translate(56px, -20px) translateZ(0); 243 } 244} 245 246@keyframes circle-9 { 247 33% { 248 transform: translate(20px, -12px) translateZ(0); 249 } 250 251 66% { 252 transform: translate(80px, -8px) translateZ(0); 253 } 254} 255 256@keyframes circle-10 { 257 33% { 258 transform: translate(68px, 20px) translateZ(0); 259 } 260 261 66% { 262 transform: translate(100px, 28px) translateZ(0); 263 } 264} 265 266@keyframes circle-11 { 267 33% { 268 transform: translate(4px, 4px) translateZ(0); 269 } 270 271 66% { 272 transform: translate(68px, 20px) translateZ(0); 273 } 274} 275 276@keyframes circle-12 { 277 33% { 278 transform: translate(56px, 0px) translateZ(0); 279 } 280 281 66% { 282 transform: translate(60px, -32px) translateZ(0); 283 } 284} 285
2.6K views
2.6K views
Comments
Variations
4 MIT License