From the documentation:
The background-position CSS property sets the initial position, relative to the background position layer defined by background-origin for each defined background image.
If you look at the HTML (using a developer tool, such as Google Chrome's developer tools), you'll see that Tumblr actually use a sprite and then use the background-position
property to shift the icons up/down using CSS3 transitions.
The background-position
property isn't doing anything in the code you provided since there has been no background-image
property set.
If you don't want to use a sprite/image, you can simply use CSS3's transform
property instead to create the 'bounce' effect. I have created a JSFiddle demonstrating the idea: http://jsfiddle.net/7rsbr/