Use swing with a clear purpose
A swing rotates around a pivot. Transform-origin determines whether the movement feels hinged at an edge or centered. Keep the swing decorative and make sure its widest frame does not overlap text or controls.
Understand the example
The original example uses animation: swing 1s infinite alternate. The animation declaration connects an element to a named keyframe sequence and defines its timing. Copy both the element rule and the matching keyframes when trying the effect in another page.
Change one value at a time in the editor above: first duration, then easing, then the distance or scale in a keyframe. Compare the resting position with the most extreme frame. Keep the smallest effect that explains your intended change.
Before you publish
Provide a reduced-motion alternative and leave important content visible when motion is removed. For a loading state, stop the effect on success or failure and keep a written status. For an entrance or exit, implement the actual application state and focus behavior separately.
The preview is isolated from the rest of this page, and you can pause it while inspecting the code. Test the final result in your own layout. Read the CSS animation reference or build a custom keyframe sequence.