La respuesta clásica a su pregunta es Columnas CSS. Esto ya ha sido discutido en otra respuesta. Te da la capacidad de dividir un bloque en columnas.
En la otra respuesta, ha indicado que podría no funcionar para usted, ya que desea colocar elementos gráficos y hacer que el texto fluya a su alrededor.
Esto podría ser posible con Columnas CSS - Tengo que confesar que no lo he probado, pero es posible hacer que el texto fluya alrededor de los gráficos normalmente, así que no veo por qué no debería ser posible con Columns, ya que debería funcionar como cualquier otro bloque aparte del diseño del texto que contiene.
Sin embargo, si esto no es lo suficientemente bueno para usted, CSS ofrece otra solución llamada regiones CSS. Este es un mecanismo que le permite especificar que el texto puede fluir de un elemento a otro. Puede encadenar sus bloques y colocarlos como desee. Esto le da total libertad para presentar su página como desee.
Usted puede encontrar más información sobre él aquí: http://msdn.microsoft.com/en-us/ie/hh272902#_CSSConnected
Se trata básicamente de un sistema de diseño de página completamente libre, y debe ser exactamente lo que estás buscando.
Esa es la buena noticia.
La mala noticia es que las regiones CSS prácticamente no tienen soporte para el navegador en este momento. Consulte CanIUse para obtener información completa sobre el soporte de navegador. Como puede ver en las tablas de ese enlace, viene en algunos navegadores, pero incluso una vez que se implemente estará lejos de contar con la asistencia suficiente del usuario para que valga la pena usarlo.
Lo cual es una pena porque es exactamente lo que estás buscando.
Está bien para esta solución la parte de la columnaización, y en este caso no me importa Brow-cross, pero el problema aquí es cómo puedo configurar la posición del medio div, sobre las 2 últimas columnas, y evitar el superposición de texto del artículo principal! – kokazani
Ver mi respuesta editada para una solución, @kokazani –