# Particle Sync (`.sds-loader-dots`)

3 dots scale to zero in staggered sync. Loaders animation in SDS Motion Forge v5.0.0. It loops continuously as soon as the class is applied.

- Page: https://sds-motion-forge.netlify.app/animations/loader-dots/
- Category: Loaders (https://sds-motion-forge.netlify.app/categories/loaders/)
- Animated properties: opacity, transform
- Compositor-only: yes
- Needs child elements: yes
- Needs per-character spans: no
- JavaScript: none required

## Use it

```html
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@salkomdesignstudio/sds-motion-forge/dist/categories/loaders.min.css" />

<span class="sds-loader-dots"><span></span><span></span><span></span></span>
```

## How it works

Plays as soon as the class is applied, looping continuously. It animates opacity and movement and scale (transform) — compositor-only, so it never causes page reflow. Timing is fixed for this effect, but you can still override animation-duration/timing-function on the element. The animation runs on the element's direct children — it needs child elements to be visible.

## Related

- [Dots Bounce](https://sds-motion-forge.netlify.app/animations/loader-dots-bounce/)
- [Dots Expand](https://sds-motion-forge.netlify.app/animations/loader-dots-expand/)
- [Dots Fade](https://sds-motion-forge.netlify.app/animations/loader-dots-fade/)
- [Dots Flip](https://sds-motion-forge.netlify.app/animations/loader-dots-flip/)
- [Dots Wave](https://sds-motion-forge.netlify.app/animations/loader-dots-wave/)
- [Data](https://sds-motion-forge.netlify.app/animations/loader-data/)
- [Diamond](https://sds-motion-forge.netlify.app/animations/loader-diamond/)
- [DNA Helix](https://sds-motion-forge.netlify.app/animations/loader-dna/)
