premetto che ho già fatto una ricerca nel forum ma non ho trovato una risposta completa.
ecco un esempio di codice (ovviamente il problema che ho è più complesso, ma il succo è questo).

stando a quello che dicono su w3.org:
absolute
The box's position (and possibly size) is specified with the 'top', 'right', 'bottom', and 'left' properties. These properties specify offsets with respect to the box's containing block. Absolutely positioned boxes are taken out of the normal flow. This means they have no impact on the layout of later siblings. Also, though absolutely positioned boxes have margins, they do not collapse with any other margins.


Andando a vedere cos'è un containing block si ha:

Block-level elements are those elements of the source document that are formatted visually as blocks (e.g., paragraphs). Several values of the 'display' property make an element block-level: 'block', 'list-item', and 'run-in' (part of the time; see run-in boxes), and 'table'.

Block-level elements (except for display 'table' elements, which are described in a later chapter) generate a principal block box that contains either only block boxes or only inline boxes. The principal block box establishes the containing block for descendant boxes and generated content and is also the box involved in any positioning scheme. Principal block boxes participate in a block formatting context.


mi aspetterei che un codice di questo tipo:

codice:
<div style="display:block; top:100px; left:200px; width:100px; height:100px; border:1px solid red;">
  <div style="position:absolute; top:50px; left:50px; width:50px; height:50px; border:1px solid blue;">
	</div>
</div>
generi due quadrati, il blu dentro il rosso. Invece no! il blu si posiziona in maniera assoluta rispetto al body!

come si spiega?

Grazie.

P.S. per favore non mi dite di usare il relative positioning (per motivi vari non posso) e poi vorrei capire dov'è l'errore, non trovare un metodo alternativo.