La transition de largeur CSS ne fonctionne pas du tout

Salut, je suis en train d'animer le width de la span à l'intérieur de la a de cette nav

<nav class="navigator">
   <ul>
    <li><a href="#home">H<span>home</span></a></li>
    <li><a title="What?" href="#what">W<span>what</span></a></li>
    <li><a title="Porfolio" href="#works">P<span>works</span></a></li>
    <li><a title="Who?" href="#who">W<span>who</span></a></li>
    <li><a title="Where?" href="#where">W<span>where</span></a></li>
  </ul>
</nav>

ici, c'est la CSS

header nav ul li a{
    position: relative;
    width: 40px;
    display: block;
    text-decoration: none;
    font-size: 18px;
    color: #000;
}
header nav ul li a:hover span{
    width: auto;
    overflow: visible;
    text-align: right;
}
header nav ul li a span{
    position: absolute;
    width: 0;
    right: 45px;
    overflow: hidden;
    transition:width 0.25s;
    -webkit-transition:width .25s;
    -moz-transition: width 0.25s;
    font-size: 16px;
}

Comme vous pouvez le voir je suis en train d'animer le widthmais, au lieu de cultiver progressivement la span est seulement de les montrer sans transition.
Pour vous permettre de comprendre l'effet que j'essaie de faire vérifier le nav de ce site
:http://kitkat.com/

J'ai fait du violon de mon propre nav:http://jsfiddle.net/ZUhsn/ où le problème vient.

Espère que je vous ai donné toutes les informations pour essayer de résoudre mon problème.
Des acclamations.

source d'informationauteur steo