If it's a button, it'll be in the :focused state, you can use that to style it. Or you could use a CSS transition with a very very long time in one direction on the :active state.
And of course, you can use adjacency selectors with buttons, while you can't with :visited links.