Nenhum efeito encontrado com esse termo.
1. Spinner Simples
HTML
<div class="loader-spinner"></div>
CSS
.loader-spinner {
width: 40px;
height: 40px;
border: 4px solid var(--border-color);
border-top: 4px solid var(--primary-color);
border-radius: 50%;
animation: spin 1s linear infinite;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
2. Dots Pulsing
HTML
<div class="loader-dots">
<span></span>
<span></span>
<span></span>
</div>
CSS
.loader-dots {
display: flex;
gap: 8px;
}
.loader-dots span {
width: 12px;
height: 12px;
background-color: var(--primary-color);
border-radius: 50%;
animation: pulse 1.4s ease-in-out infinite;
}
.loader-dots span:nth-child(2) {
animation-delay: 0.2s;
}
.loader-dots span:nth-child(3) {
animation-delay: 0.4s;
}
@keyframes pulse {
0%, 100% { transform: scale(0.5); opacity: 0.5; }
50% { transform: scale(1); opacity: 1; }
}
3. Progress Bar
HTML
<div class="loader-progress"></div>
CSS
.loader-progress {
width: 200px;
height: 6px;
background: var(--border-color);
border-radius: 3px;
overflow: hidden;
}
.loader-progress::after {
content: '';
display: block;
width: 40%;
height: 100%;
background: var(--primary-color);
animation: progress 1.5s ease-in-out infinite;
}
@keyframes progress {
0% { transform: translateX(-100%); }
100% { transform: translateX(250%); }
}
4. Circular Progress
HTML
<div class="loader-circular"></div>
CSS
.loader-circular {
width: 50px;
height: 50px;
border-radius: 50%;
position: relative;
background: conic-gradient(var(--primary-color) 0%, transparent 65%);
animation: rotate 1.5s linear infinite;
}
.loader-circular::before {
content: '';
position: absolute;
top: 5px;
left: 5px;
right: 5px;
bottom: 5px;
background: var(--card-bg);
border-radius: 50%;
}
@keyframes rotate {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
5. Skeleton Loading
HTML
<div class="loader-skeleton">
<div class="skeleton-line"></div>
<div class="skeleton-line"></div>
<div class="skeleton-line"></div>
</div>
CSS
.loader-skeleton {
width: 200px;
display: flex;
flex-direction: column;
gap: 10px;
}
.skeleton-line {
height: 15px;
background: linear-gradient(
90deg,
var(--border-color) 25%,
var(--card-bg) 50%,
var(--border-color) 75%
);
background-size: 200% 100%;
animation: shimmer 1.5s infinite;
border-radius: 4px;
}
.skeleton-line:first-child {
width: 80%;
}
.skeleton-line:last-child {
width: 60%;
}
@keyframes shimmer {
0% { background-position: 200% 0; }
100% { background-position: -200% 0; }
}
6. Wave Loading
HTML
<div class="loader-wave">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
CSS
.loader-wave {
display: flex;
gap: 4px;
height: 40px;
align-items: flex-end;
}
.loader-wave span {
width: 4px;
background-color: var(--primary-color);
border-radius: 2px;
animation: wave 1s ease-in-out infinite;
}
.loader-wave span:nth-child(2) { animation-delay: 0.1s; }
.loader-wave span:nth-child(3) { animation-delay: 0.2s; }
.loader-wave span:nth-child(4) { animation-delay: 0.3s; }
.loader-wave span:nth-child(5) { animation-delay: 0.4s; }
@keyframes wave {
0%, 100% { height: 10px; }
50% { height: 30px; }
}
7. Dual Ring
HTML
<div class="loader-dual-ring"></div>
CSS
.loader-dual-ring {
width: 50px;
height: 50px;
position: relative;
}
.loader-dual-ring::after,
.loader-dual-ring::before {
content: '';
position: absolute;
width: 100%;
height: 100%;
border-radius: 50%;
border: 3px solid transparent;
animation: dualRing 1.5s linear infinite;
}
.loader-dual-ring::after {
border-top-color: var(--primary-color);
border-bottom-color: var(--primary-color);
}
.loader-dual-ring::before {
border-left-color: var(--primary-color);
border-right-color: var(--primary-color);
animation-direction: reverse;
animation-duration: 1s;
}
@keyframes dualRing {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
8. Bouncing Squares
HTML
<div class="loader-squares">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
CSS
.loader-squares {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 4px;
width: 50px;
height: 50px;
}
.loader-squares span {
background-color: var(--primary-color);
border-radius: 2px;
animation: bounce 1.5s ease-in-out infinite;
}
.loader-squares span:nth-child(1) { animation-delay: 0s; }
.loader-squares span:nth-child(2) { animation-delay: 0.1s; }
.loader-squares span:nth-child(3) { animation-delay: 0.2s; }
.loader-squares span:nth-child(4) { animation-delay: 0.3s; }
.loader-squares span:nth-child(5) { animation-delay: 0.4s; }
.loader-squares span:nth-child(6) { animation-delay: 0.5s; }
.loader-squares span:nth-child(7) { animation-delay: 0.6s; }
.loader-squares span:nth-child(8) { animation-delay: 0.7s; }
.loader-squares span:nth-child(9) { animation-delay: 0.8s; }
@keyframes bounce {
0%, 100% { transform: scale(0.6); opacity: 0.3; }
50% { transform: scale(1); opacity: 1; }
}
9. Typing Indicator
HTML
<div class="loader-typing">
<span></span>
<span></span>
<span></span>
</div>
CSS
.loader-typing {
width: 50px;
height: 30px;
position: relative;
padding: 10px;
background: var(--card-bg);
border-radius: 20px;
}
.loader-typing span {
display: block;
width: 6px;
height: 6px;
background: var(--primary-color);
border-radius: 50%;
position: absolute;
animation: typing 1s infinite;
}
.loader-typing span:nth-child(1) { left: 10px; }
.loader-typing span:nth-child(2) { left: 22px; animation-delay: 0.2s; }
.loader-typing span:nth-child(3) { left: 34px; animation-delay: 0.4s; }
@keyframes typing {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-5px); }
}
10. Infinity
HTML
<div class="loader-infinity"></div>
CSS
.loader-infinity {
width: 50px;
height: 25px;
position: relative;
background: transparent;
overflow: hidden;
}
.loader-infinity::before,
.loader-infinity::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 25px;
height: 25px;
border: 2px solid var(--primary-color);
border-radius: 50px 50px 0 50px;
transform: rotate(-45deg);
animation: infinity 2s linear infinite;
}
.loader-infinity::after {
left: auto;
right: 0;
border-radius: 50px 50px 50px 0;
transform: rotate(45deg);
animation: infinity 2s linear infinite reverse;
}
@keyframes infinity {
0% { transform: rotate(-45deg); }
100% { transform: rotate(315deg); }
}
11. Hexagon
HTML
<div class="loader-hexagon"></div>
CSS
.loader-hexagon {
width: 50px;
height: 50px;
position: relative;
background: var(--card-bg);
clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}
.loader-hexagon::before {
content: '';
position: absolute;
top: 2px;
left: 2px;
right: 2px;
bottom: 2px;
background: var(--primary-color);
clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
animation: hexPulse 1.5s ease-in-out infinite;
}
@keyframes hexPulse {
0%, 100% { transform: scale(0.8); opacity: 0.5; }
50% { transform: scale(1); opacity: 1; }
}
12. Cube Flip
HTML
<div class="loader-cube">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
CSS
.loader-cube {
width: 40px;
height: 40px;
position: relative;
transform-style: preserve-3d;
animation: cube 2s infinite;
}
.loader-cube div {
width: 100%;
height: 100%;
position: absolute;
background: var(--primary-color);
opacity: 0.8;
}
.loader-cube div:nth-child(1) { transform: rotateY(0deg) translateZ(20px); }
.loader-cube div:nth-child(2) { transform: rotateY(90deg) translateZ(20px); }
.loader-cube div:nth-child(3) { transform: rotateY(180deg) translateZ(20px); }
.loader-cube div:nth-child(4) { transform: rotateY(270deg) translateZ(20px); }
.loader-cube div:nth-child(5) { transform: rotateX(90deg) translateZ(20px); }
.loader-cube div:nth-child(6) { transform: rotateX(-90deg) translateZ(20px); }
@keyframes cube {
0% { transform: rotateX(0deg) rotateY(0deg); }
100% { transform: rotateX(360deg) rotateY(360deg); }
}
13. DNA Helix
HTML
<div class="loader-dna"></div>
CSS
.loader-dna {
width: 40px;
height: 60px;
position: relative;
perspective: 100px;
}
.loader-dna::before,
.loader-dna::after {
content: '';
position: absolute;
width: 4px;
height: 100%;
background: var(--primary-color);
left: 50%;
transform: translateX(-50%);
animation: dnaRotate 2s linear infinite;
}
.loader-dna::after {
animation-delay: 1s;
}
@keyframes dnaRotate {
0% { transform: translateX(-50%) rotateX(0deg); }
100% { transform: translateX(-50%) rotateX(360deg); }
}
14. Pulse Ring
HTML
<div class="loader-pulse-ring">
<span></span>
<span></span>
<span></span>
</div>
CSS
.loader-pulse-ring {
width: 40px;
height: 40px;
position: relative;
}
.loader-pulse-ring span {
position: absolute;
width: 100%;
height: 100%;
border: 2px solid var(--primary-color);
border-radius: 50%;
animation: pulseRing 1.5s ease-out infinite;
}
.loader-pulse-ring span:nth-child(2) { animation-delay: 0.5s; }
.loader-pulse-ring span:nth-child(3) { animation-delay: 1s; }
@keyframes pulseRing {
0% { transform: scale(0.5); opacity: 1; }
100% { transform: scale(1.5); opacity: 0; }
}
15. Gear System
HTML
<div class="loader-gears"></div>
CSS
.loader-gears {
width: 60px;
height: 60px;
position: relative;
}
.loader-gears::before,
.loader-gears::after {
content: '';
position: absolute;
width: 30px;
height: 30px;
background: var(--primary-color);
border-radius: 50%;
animation: gearRotate 2s linear infinite;
}
.loader-gears::before {
top: 0;
left: 0;
clip-path: polygon(
50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%,
50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%
);
}
.loader-gears::after {
bottom: 0;
right: 0;
clip-path: polygon(
50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%,
50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%
);
animation-direction: reverse;
}
@keyframes gearRotate {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
16. Galaxy Spinner
HTML
<div class="loader-galaxy"></div>
CSS
.loader-galaxy {
width: 50px;
height: 50px;
position: relative;
}
.loader-galaxy::before,
.loader-galaxy::after {
content: '';
position: absolute;
width: 100%;
height: 100%;
border-radius: 50%;
border: 2px solid transparent;
border-top-color: var(--primary-color);
animation: galaxySpin 2s linear infinite;
}
.loader-galaxy::before {
border-left-color: var(--primary-color);
transform: rotate(45deg);
}
.loader-galaxy::after {
border-right-color: var(--primary-color);
transform: rotate(-45deg);
}
@keyframes galaxySpin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
17. Newton Pendulum
HTML
<div class="loader-pendulum">
<span></span>
<span></span>
<span></span>
</div>
CSS
.loader-pendulum {
width: 100px;
height: 50px;
position: relative;
display: flex;
justify-content: center;
align-items: flex-start;
gap: 5px;
}
.loader-pendulum span {
width: 8px;
height: 40px;
background: var(--primary-color);
transform-origin: 50% 0;
animation: swing 1.5s ease-in-out infinite;
}
.loader-pendulum span:first-child {
animation-delay: -1.5s;
}
.loader-pendulum span:last-child {
animation-delay: -0.75s;
}
@keyframes swing {
0%, 100% { transform: rotate(30deg); }
50% { transform: rotate(-30deg); }
}
18. Pixel Grid
HTML
<div class="loader-pixel">
<div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div>
<div></div><div></div><div></div><div></div>
</div>
CSS
.loader-pixel {
width: 48px;
height: 48px;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 2px;
}
.loader-pixel div {
width: 10px;
height: 10px;
background: var(--primary-color);
animation: pixelFade 1.5s linear infinite;
}
.loader-pixel div:nth-child(1) { animation-delay: 0s; }
.loader-pixel div:nth-child(2) { animation-delay: 0.1s; }
.loader-pixel div:nth-child(3) { animation-delay: 0.2s; }
.loader-pixel div:nth-child(4) { animation-delay: 0.3s; }
.loader-pixel div:nth-child(5) { animation-delay: 0.4s; }
.loader-pixel div:nth-child(6) { animation-delay: 0.5s; }
.loader-pixel div:nth-child(7) { animation-delay: 0.6s; }
.loader-pixel div:nth-child(8) { animation-delay: 0.7s; }
.loader-pixel div:nth-child(9) { animation-delay: 0.8s; }
.loader-pixel div:nth-child(10) { animation-delay: 0.9s; }
.loader-pixel div:nth-child(11) { animation-delay: 1.0s; }
.loader-pixel div:nth-child(12) { animation-delay: 1.1s; }
.loader-pixel div:nth-child(13) { animation-delay: 1.2s; }
.loader-pixel div:nth-child(14) { animation-delay: 1.3s; }
.loader-pixel div:nth-child(15) { animation-delay: 1.4s; }
.loader-pixel div:nth-child(16) { animation-delay: 1.5s; }
@keyframes pixelFade {
0%, 100% { opacity: 0.2; }
50% { opacity: 1; }
}
19. Liquid Fill
HTML
<div class="loader-liquid"></div>
CSS
.loader-liquid {
width: 40px;
height: 40px;
border: 2px solid var(--primary-color);
border-radius: 5px;
position: relative;
overflow: hidden;
}
.loader-liquid::after {
content: '';
position: absolute;
width: 200%;
height: 200%;
background: var(--primary-color);
left: -50%;
top: 0;
animation: liquidFill 2s ease-in-out infinite;
transform-origin: 50% 100%;
border-radius: 40%;
}
@keyframes liquidFill {
0% { transform: translateY(80%) rotate(0deg); }
100% { transform: translateY(-20%) rotate(360deg); }
}
20. Morse Code
HTML
<div class="loader-morse">
<span></span>
<span></span>
<span></span>
</div>
CSS
.loader-morse {
width: 60px;
height: 20px;
display: flex;
align-items: center;
gap: 6px;
}
.loader-morse span {
width: 8px;
height: 8px;
background: var(--primary-color);
border-radius: 50%;
animation: morse 1.5s ease-in-out infinite;
}
.loader-morse span:nth-child(2) {
animation-delay: 0.2s;
width: 16px;
border-radius: 4px;
}
.loader-morse span:nth-child(3) {
animation-delay: 0.4s;
}
@keyframes morse {
0%, 100% { opacity: 0.2; transform: scale(0.8); }
50% { opacity: 1; transform: scale(1); }
}