¿Qué haría que offsetParent sea nulo?

Estoy tratando de hacer posicionamiento en JavaScript. Estoy usando una función de posición acumulativa basada en elfunción clásica del modo peculiar eso sumaoffsetTop yoffsetLeft para cadaoffsetParent hasta el nodo superior.

Sin embargo, me encuentro con un problema en el que el elemento que me interesa no tieneoffsetParent en Firefox En IEoffsetParent existe, perooffsetTop yoffsetLeft todos suman 0, por lo que tiene el mismo problema que Firefox.

¿Qué causaría que un elemento que sea claramente visible y utilizable en la pantalla no tenga unoffsetParent? O, más prácticamente, ¿cómo puedo encontrar la posición de este elemento para colocar un menú desplegable debajo de él?

Editar: Aquí se explica cómo reproducir una instancia particular de esto (no resuelto por la respuesta actualmente aceptada):

Abre elpágina de inicio de Stack Overflow.

Ejecute el siguiente código en la consola del navegador web (por ejemplo, Chromev21):

var e = document.querySelector('div');
console.log(e);
// <div id="notify-container"></div>
do{
  var s = getComputedStyle(e);
  console.log(e.tagName,s.display,s.visibility,s.position,e.offsetParent);
} while(e=e.parentElement)
// DIV block visible fixed null
// BODY block visible static null
// HTML block visible static null

Porque es eloffsetParent de ese elementonull?

Respuestas a la pregunta(6)

Su respuesta a la pregunta