StackOverflow Demo: center image on links

Someone wanted to know how to use CSS to center a bg on links of varying widths.

HTML

<ul>
  <li><a href="#">First Item</a></li>
  <li><a href="#">m</a></li>
  <li><a href="#">Very very short Item</a></li>
  <li><a href="#">Another Item</a></li>
  <li><a href="#">Last Item</a></li>
</ul>

CSS

li a { position: relative;
height:30px;
width
} /* makes position:absolute; work below */
li a:after{
    content: "";
    position: absolute;
    top: 0;
    left: 50%; /* centers the left edge */
    width:30px; /* set window to see sprite through */
    height: 30px; /* set window to see sprite through */
    background: url(https://www.google.com/images/nav_logo129.png) no-repeat -15px -327px; /*  set up the sprite. Obviously change this fto make each one different. */
     margin-left: -8.5px; /* this centers the actual sprite--this is half the sprite-window width. if you don't do this, the left edge will be centered instead of the center of the sprite.  */
}