La risposta classica alla tua domanda è Colonne CSS. Questo è già stato discusso in un'altra risposta. Ti dà la possibilità di dividere un blocco in colonne.
Nell'altra risposta hai affermato che potrebbe non funzionare per te in quanto desideri posizionare elementi grafici e far scorrere il testo attorno ad essi.
Questo potrebbe essere possibile con le colonne CSS - Devo confessare che non l'ho provato, ma è possibile far scorrere il testo attorno alla grafica normalmente, quindi non vedo perché non dovrebbe essere possibile con Columns, come dovrebbe funzionare come qualsiasi altro blocco a parte il layout del testo al suo interno.
Tuttavia, se questo non è abbastanza buono per voi, quindi CSS offre un'altra soluzione denominata regioni CSS. Questo è un meccanismo che ti permette di specificare che il testo può fluire da un elemento all'altro. Puoi concatenare i blocchi e posizionarli come preferisci. Questo ti dà la completa libertà di deporre la tua pagina come preferisci.
È possibile trovare maggiori informazioni qui: http://msdn.microsoft.com/en-us/ie/hh272902#_CSSConnected
E 'fondamentalmente un sistema di layout di pagina completamente gratuito, e dovrebbe essere esattamente quello che stai cercando.
Questa è la buona notizia.
La cattiva notizia è che le regioni CSS hanno praticamente zero supporto browser in questo momento. Vedi CanIUse per informazioni complete sul supporto del browser. Come puoi vedere dalle tabelle su quel link, è disponibile in alcuni browser, ma anche una volta implementato sarà abbastanza lontano dall'avere abbastanza supporto per gli utenti che ne valga la pena.
Che è un peccato perché è esattamente quello che stai cercando.
Va bene per questa soluzione la parte di columnization, e in questo caso non mi interessa per browser-cross, ma il problema qui è come posso configurare la posizione di media div, in cima a 2 ultime colonne, e prevenire il sovrapposizione di testo dell'articolo principale! – kokazani
Vedere la mia risposta modificata per una soluzione, @kokazani –