This is the classic float enclosing bug that IE exhibits. Parents shouldn't enclose their floated children according to the specs; the canonical example is a floated picture extending out of the bottom of its parent <p>. IE however thinks differently: if you trigger a proprietary behaviour called hasLayout then it will. In this case, the width you've set on your wrapper has triggered this, so it's enclosing the children.
In Firefox and other compliant browsers there are a few ways of getting the behaviour you can, the quickest and easiest of which is simply to set