Il n’y a pas si longtemps pour faire des boutons, il fallait une ou plusieurs images et des lignes de codes.
Si le bouton ne plaisait plus, on devait refaire des images!
Avec CSS3 plus de contraintes.
Voici quelques exemples simples.
Bouton simple de départ:

Bouton

Le même avec un arrondi en ajoutant un border-radius. On peut aussi écrire « border-radius: 10px 0 10px 0 » pour n’obtetenir que deux angles arrondis.

Bouton

Ajoutons une ombre avec box-shadow:3px 3px.

Bouton

En écrivant une valeur négative (-3px -3px) l’ombre sera en haut et a gauche.

Bouton

Ceci est un aperçu. D’autres fantaisies sont possible en CSS3. Voyez ici  sur cette page.