You can do this if you use an <a>
tag instead of a button. I know it's not exactly what you asked for, but it might give you some other options if you cannot find a solution to this:
Borrowing from a demo from another answer here I produced this:
a {_x000D_
display: block;_x000D_
font-size: 18px;_x000D_
border: 2px solid gray;_x000D_
border-radius: 100px;_x000D_
width: 100px;_x000D_
height: 100px;_x000D_
text-align: center;_x000D_
line-height: 100px;_x000D_
}_x000D_
_x000D_
a:active {_x000D_
font-size: 18px;_x000D_
border: 2px solid green;_x000D_
border-radius: 100px;_x000D_
width: 100px;_x000D_
height: 100px;_x000D_
}_x000D_
_x000D_
a:target {_x000D_
font-size: 18px;_x000D_
border: 2px solid red;_x000D_
border-radius: 100px;_x000D_
width: 100px;_x000D_
height: 100px;_x000D_
}
_x000D_
<a id="btn" href="#btn">Demo</a>
_x000D_
Notice the use of :target
; this will be the style applied when the element is targeted via the hash. Which also means your HTML will need to be this: <a id="btn" href="#btn">Demo</a>
a link targeting itself. and the demo http://jsfiddle.net/rlemon/Awdq5/4/
Thanks to @BenjaminGruenbaum here is a better demo: http://jsfiddle.net/agzVt/
Also, as a footnote: this should really be done with JavaScript and applying / removing CSS classes from the element. It would be much less convoluted.