Además hay que tener en cuenta la fuente, que funciona de diferente manera en firefox que en IE, y que seguramente no funcionará igual en linux que en windows. Seguramente habría que tener en cuenta el tamaño de letra del navegador y todas esas predeterminaciones, pero he intentado poner todo bien para intentar que se vea bien en todos los casos posibles.
Bueno el código sería este:
Código PHP:
Hola Contenido
<input type="text" id="caja" value="ABCDEF" />
Buuu
<script>
function e(q,noBr) {
document.body.appendChild( document.createTextNode(q) );
if(!noBr) document.body.appendChild( document.createElement("BR") );
}
var laCaja=document.getElementById("caja");
//la metemos dentro de un div contenedor
var divContenedor=document.createElement("DIV");
divContenedor.style.position="relative";
document.body.insertBefore(divContenedor, laCaja);
divContenedor.appendChild(laCaja);
//hacemos a la caja de posicion absoluta, y le damos indice z=3
laCaja.style.position="relative";
laCaja.style.zIndex="3";
laCaja.style.fontFamily="Tahoma";
laCaja.style.fontSize="13px";
laCaja.style.width=laCaja.offsetWidth+"px";
laCaja.style.height=laCaja.offsetHeight+"px";
//hallamos las dimensiones de la caja, y le restamos los bordes (2px de borde):
var laCajaWidth=laCaja.offsetWidth-4;
var laCajaHeight=laCaja.offsetHeight-6;
///////////// posicionamiento según Firefox
function adjuntarCaja(color,left,top,valor) {
var cajaX=document.createElement("INPUT");
cajaX.style.border="none";
cajaX.style.backgroundColor="transparent";
cajaX.style.color=color;
cajaX.style.position="absolute";
cajaX.style.zIndex="4";
cajaX.style.fontFamily="Tahoma";
cajaX.style.fontSize="13px";
cajaX.style.top=top+"px";
cajaX.style.left=left+"px";
cajaX.style.width=(laCajaWidth-left)+"px";
cajaX.style.height=(laCajaHeight)+"px";
cajaX.value=valor;
divContenedor.appendChild(cajaX);
return cajaX;
}
// MODELO IE (el top=3 y el left uno menos que en el estándar)
if(document.all) {
adjuntarCaja("red",10,3,"B");
adjuntarCaja("blue",17,3,"C");
adjuntarCaja("green",25,3,"D");
adjuntarCaja("orange",33,3,"E");
adjuntarCaja("olive",40,3,"F");
}
// MODELO ESTANDAR ??? (el top=2 y el left lo hallaremos midiendo cada letra)
else {
adjuntarCaja("red",11,2,"B");
adjuntarCaja("blue",18,2,"C");
adjuntarCaja("green",26,2,"D");
adjuntarCaja("orange",34,2,"E");
adjuntarCaja("olive",41,2,"F");
}
//alert(document.body.innerHTML);
</script>
Bueno, de momento no es nada funcional. ¿Creeis que merece la pena continuar con el proyecto? ¿Lo véis bien encaminado? Y bueno... ¿Se representa bien en vuestros navegadores?
Un saludo