Itt egy link, én így csinálnám.
Ilyeneket nem nagyon szoktak <span> közé rakni, hanem inkább akkor használják ha valamit ki akarnak emelni a környezetéből és megformázni, mint példaul amit linkeltél oldalon az O betű esete. Ezért kicsit átvariáltam a HTML kódod, illetve a CSS-t is.
Azért nem volt egy vonalban, mert a listának alapból van marginja, ami letolja az egész listát. Ezért vettem le a CSS elején minden elemről a margint, paddinget.
Ha JSFiddlén megy, akkor szerintem éles környezetben is mennie kell. Nem lehet, hogy még a cachelt CSS-ből dolgozik a böngésződ? Ctrl+F5-tel tudod ezt üríteni.