Opino igual que kseso? la forma más prudente de hacerlo es abriendo y cerrando listas.
Código:
<ul style="float:left; margin-right:10px; width:100px;">
<li>ICONO 1</li>
<li>ICONO 2</li>
<li>ICONO 3</li>
<li>ICONO 4</li>
</ul>
<ul style="float:left; width:100px;">
<li>ICONO 5</li>
</ul>
La otra opción, pero que sirve solo si hablamos de un contenedor con tamaño fijo e iconos con los mismos tamaños o aproximados, es usar clases que asignen posiciones absolutas. Por ejemplo:
Código:
<div id="contenedor">
<a class="icono i1"><img src...... /></a>
<a class="icono i2"><img src...... /></a>
<a class="icono i3"><img src...... /></a>
<a class="icono i4"><img src...... /></a>
<a class="icono i5"><img src...... /></a>
<a class="icono i6"><img src...... /></a>
</div>
<style>
#contenedor { height:500px; position:relative; width:500px; }
#contenedor .icono { height:50px; position:absolute; width:50px; }
#contenedor .icono.i1 { left:0px; top:0px;*}
#contenedor .icono.i2 { left:0px; top:50px;*}
#contenedor .icono.i3 { left:0px; top:100px;*}
#contenedor .icono.i4 { left:0px; top:150px;*}
#contenedor .icono.i5 { left:100px; top:0px;*}
#contenedor .icono.i6 { left:100px; top:50px;*}
</style>
En este caso, mientras siempre asignes las clases de los enlaces en orden (sin importar que icono tenga adentro), siempre deberían respetar el orden que le asignas.