Buenas,
Resulta que quiero centrar un elemento en bloque cuyo ancho es variable,
por lo que no puedo utilizar margin: auto.
Hasta ahí es un problema de CSS, que si no estoy errado, no tiene solución.
Así que recurrí a Javascript para darle posicionamiento absoluto al
elemento y combinar posición absoluta y margen negativo para ubicarlo
donde quiero.
function centerNav() {
// posiciono el elemento
// esto no es correcto según el DOM, pero funciona
document.getElementById("nav").style.position = "absolute";
document.getElementById("nav").style.left = "50%";
//obtengo el ancho
ancho = document.getElementById("nav").offsetWidth;
// calculo el margen negativo necesario
margen = 0-ancho/2;
margen += "";
// aquí es donde no consigo que funcione en Firefox
// IE se lo traga y consigo el efecto deseado
document.getElementById("nav").style.marginLeft = margen;
}
window.onload = centerNav;
Investigué un poco y probé con:
document.getElementById("nav").style.setProperty("margin-left", margen,
null);
pero tampoco logro que funcione en Firefox (IE no lo pasa, pero sería
sencillo mandarle sólo lo que él quiera).
Así que ese es el problema: ¿cómo asigno el margen negativo? y/o ¿habría
una mejor forma de hacerlo?
Gracias de antemano, saludos y feliz 2006!
--
Camilo Kawerín
27Sur comunicación & diseño
http://www.27sur.com
_______________________________________________
javaEScript mailing list
[email protected]
http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net