posición: absoluta sin establecer arriba / izquierda / abajo / derecha?

Caso 1:

Quiero poner un logo encima de la foto en el encabezado en el tema predeterminado de WordPress ( http://twentyelevendemo.wordpress.com/ )

Mi solución: agregue el logotipo antes de la foto y establezca la position: absolute en él, sin establecer ninguna de las propiedades top/left/bottom/right :

http://jsfiddle.net/TsAJp/

Html:

     

Css:

 #logo { position: absolute; margin: 10px; /* or padding: 10px; */ /* or border: 10px solid transparent; only this works with my elderly iPhone Simulator.app */ } 

Caso # 2:

Otro ejemplo es un menú horizontal de varios niveles que es 100% ancho y presentado con display: table-* , pero table-cell s no admite position: relative , por lo que mi única solución fue esta: http: // jsfiddle. net / pCe49 /

Funciona en IE6-7, Firefox1.5, no funciona en Firefox 0.8, etc.

¿Crees que es una buena solución, o es una pieza no estándar de pirateo, que puede desmoronarse en cualquier momento?

El estándar generalmente dice si arriba / abajo, izquierda / derecha son automáticas, luego los predetermina a su position: static valores position: static :

http://www.w3.org/TR/CSS2/visudet.html#abs-non-replaced-width

http://www.w3.org/TR/CSS2/visudet.html#abs-non-replaced-height

AFAIK, debe prestar atención a las reglas jerárquicas de css, ya que si no especifica los atributos superior, izquierdo y otros, se heredan del elemento principal, o se configuran por defecto en el css del navegador. En mi humilde opinión, es mejor establecer estos elementos para conveniet para sus valores.