[править] Мне было любопытно посмотреть, смогу ли я получить какую-то расширяющуюся границу в CSS, поэтому я добавил, что к скрипке
Хороший ответ Дракониса, jquery animate будет хорошо работать со старыми браузерами,переходы, однако, будут более плавными, поэтому, если вы ориентируетесь на современные Safari, Firefox и Chrome, они отлично работают.Вот небольшой пример для анимированной кнопки (это при наведении курсора, а не нажатии)
http://jsfiddle.net/dTqkK/2/
Конечно, сочетание обоих, вероятно, лучший ответ, используя что-то вроде Modernizr , чтобы определить, может ли браузер поддерживать переходы CSS и переходить на javascript, если это невозможно.