Foros del Web » Programando para Internet » Javascript »

Varios colores para una caja de texto

Estas en el tema de Varios colores para una caja de texto en el foro de Javascript en Foros del Web. Sé que no se pueden poner varios colores en una misma caja de texto, pero he hecho un "arreglo", un apaño. Se trata de ir ...
  #1 (permalink)  
Antiguo 10/05/2007, 11:43
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Varios colores para una caja de texto

Sé que no se pueden poner varios colores en una misma caja de texto, pero he hecho un "arreglo", un apaño. Se trata de ir superponiendo cajas de texto sin borde a la caja de texto original, y con fondo blanco. El resultado es bueno, de momento solo es un croquis de lo que podría ser la idea final.

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.appendChilddocument.createTextNode(q) );
    if(!
noBrdocument.body.appendChilddocument.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(divContenedorlaCaja);
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
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:29.