Foros del Web » Creando para Internet » CSS »

Fondo de un text input

Estas en el tema de Fondo de un text input en el foro de CSS en Foros del Web. Hola, que tal? Estoy buscando la manera de hacer para que cuando un text input no tenga nada escrito aparezca una texto tenue que diga ...
  #1 (permalink)  
Antiguo 28/11/2011, 18:00
Avatar de morfasto  
Fecha de Ingreso: julio-2011
Ubicación: Lima
Mensajes: 291
Antigüedad: 12 años, 9 meses
Puntos: 8
Fondo de un text input

Hola, que tal?

Estoy buscando la manera de hacer para que cuando un text input no tenga nada escrito aparezca una texto tenue que diga algo, como por ejemplo: Responder aqui!

Creo que vi una vez que se podia hacer con una imagen de fondo, pero como se la quito cuando alguien escriba? Existe alguna otra manera de hacerlo?

Muchas gracias!
  #2 (permalink)  
Antiguo 28/11/2011, 18:49
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Fondo de un text input

para eso html5 incorpora un atributo llamado placeholder, pero lamentablemente todavía no es compatible con todos los navegadores (IE para ser más precisos), hasta tanto lo sea, yo prefiero manejarme con esto

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <style type="text/css">
  7. /*<![CDATA[*/
  8. .texto{
  9. color: #666;
  10. }
  11. /*]]>*/
  12. <script type="text/javascript">
  13. //<![CDATA[
  14. function color(campo,texto){
  15. var elcampo = document.getElementById(campo).value;
  16. if(elcampo == texto)    {
  17. document.getElementById(campo).style.color="#666";
  18. }
  19. }
  20. //]]>
  21. </head>
  22. <div>
  23.  
  24. <form action="#">
  25. <input type="text" class="texto" name="nombre_ingreso" value="usuario" id="nombre_ingreso"
  26. onclick="this.value='';this.style.color='#000';" onfocus="this.select()" onblur="this.value=!this.value?'usuario':this.value; color(this.id,'usuario');" />
  27. </form>
  28.  
  29. </div>
  30. </body>
  31. </html>

también podes usar una versión simplificada, dónde no atenuas el color, tenes que eliminar
color(this.id,'usuario');
el css
y la función. es decir solo esto
Código HTML:
Ver original
  1. <form action="#">
  2. <input type="text" name="nombre_ingreso" value="usuario"
  3. onclick="this.value='';this.style.color='#000';" onfocus="this.select()" onblur="this.value=!this.value?'usuario':this.value;" />
  4. </form>




Por supuesto que es más complicado, pero soy de eso que piensan, si no corre en IE, no me sirve.
saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 30/11/2011, 10:59
Avatar de morfasto  
Fecha de Ingreso: julio-2011
Ubicación: Lima
Mensajes: 291
Antigüedad: 12 años, 9 meses
Puntos: 8
Respuesta: Fondo de un text input

Existe alguna otra manera de hacerlo?
  #4 (permalink)  
Antiguo 30/11/2011, 11:16
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Fondo de un text input

si, hay otras. por ejemplo
http://webdesignerwall.com/tutorials...comment-page-2

Pero todas involucran javascript, jquery...
para hacerlas compatibles con todos los navegadores

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Etiquetas: input, txt
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 06:09.