Many thanks @avrahamcool, works like a charm!
I have a little upgrade. You can replace redundant .Centerer span with css
.button:before {
content: '';
display: inline-block;
vertical-align: middle;
height: 100%;
}
See demo here: http://jsfiddle.net/modernweb/bXD2V/
NOTE: This will not work with text in “content” attribute.