Si vas a usar float, límpialo.
Aquí un ejemplo.
@rossijona, "I.E no le gusta demasiado "inline"" ¿tienes algun ejemplo para mostrar o link para estudiar?
@Ag666, coincido, lo natural sería usar alguna etiqueta como <span> (inline) </span> que al igual que <div> (block) </div> se pueden considerar que son etiquetas sin carga semántica.
@FedericoC, por si acaso te has perdido: el text-align trabaja sobre elementos de línea, por tanto si das margin:0 auto; a una capa de línea no funcionará.
Saludos.