Using code (what I did) : You might have an email signature done in under an hour, yet experience taught me that basic HTML5 + CSS3 is not well supported by email clients (especially animations). The workaround is to capture a GIF (what I did) of your running code.

Using a design software (with or without animation features) : Images and GIFs are supported by email clients out of the box so it will be rendered as expected.

Using an online email signature generator : You might have less features available, yet your email should be compatible with any email client if the generator is reliable. Benefit : Clickable links and smaller emails.

Regarding GIFs and Images :

Small caveat : links are not clickable + emails might be a little bigger (my signature adds an extra 1MB)