2011-04-11 16 views
53

Me gustaría cambiar el fondo de color en los campos de texto e ingreso de un formulario, pero cuando lo hago también afecta el botón de enviar. ¿Podría hacerse de alguna otra manera que no afecte al botón? He utilizado este código:¿Color de fondo en campos de entrada y texto?

input, textarea { 
    background-color : #d1d1d1; 
} 
+1

Como @ Damien-en-SF dijo, el uso de insumos [type = "text"] en lugar de entrada. Pero también use la regla 'border: none;' para evitar los bordes predeterminados de entrada de texto. – Manolo

Respuesta

89
input[type="text"], textarea { 

    background-color : #d1d1d1; 

} 

Espero que ayude :)

Editar: ejemplo de trabajo, http://jsfiddle.net/C5WxK/

+0

¡Agradable! Hay un efecto de borde en el campo de entrada, pero no en el área de texto? –

+0

¿Por qué usó tanto 'input [type =" text "]' y 'textarea'? – URL87

+0

Son 2 etiquetas separadas y deben abordarse por separado ... 'input [type =" text "]' no trata los campos 'textarea'. –

2

Desea limitar a los campos de entrada que son de tipo texto por lo utilice el selector input[type=text] en lugar de input (que se aplicará a todos los campos de entrada (por ejemplo, los de tipo enviar también)).

7

La mejor solución es el selector de atributos en CSS (input[type="text"]) como los otros sugirieron.

Pero si tiene que admitir IE6, no puede usarlo (QuirksMode). Bueno, solo si tienes que hacerlo y también estás dispuesto a apoyarlo.

En este caso, su única opción parece ser definir clases en los elementos de entrada.

<input type="text" class="input-box" ... /> 
<input type="submit" class="button" ... /> 
... 

y les objetivo con un selector de clase:

input.input-box, textarea { background: cyan; } 
Cuestiones relacionadas