2009-02-06 27 views
17

¿Hay alguna manera elegante de aplicar un cierto estilo a todos los elementos bajo <input type="text"> IE6? Puedo hacerlo con JavaScript, pero me preguntaba si había una manera más elegante de hacerlo.Cómo estilo <input type = "text"> en IE6 CSS?

Nota - No puedo aplicar una cierta clase a todos los cuadros de texto con la mano. Y me gustaría avoid CSS expressions.

Respuesta

14

yo sepa, IE6 no soporta attribute selectors, así que creo que la respuesta es no. Debería usar uno de los siguientes:

  1. Agregue un atributo de clase común a todos los elementos <input type="text"/>.
  2. Utilice JavaScript, tal como lo sugirió.

Ambos de los cuales se quiere evitar. Demasiado.

+0

jQuery puede hacer Javascript a labrar mucho menos doloroso que soporta filtros de selección muy similares con CSS – Aleris

+1

@Alertis: cierto, pero sigue siendo JavaScript. –

+0

Es una aplicación web de uso interno que depende en gran medida de JavaScript de todos modos. Usarlo para diseñar no es problema. Solo me preguntaba si había alguna mejor manera. –

1

hacer usted también tiene otros elementos de entrada que se desee estilo diferente al elemento de "texto"? Si no, simplemente aplicar el estilo a todos los elementos de entrada con CSS:

input { 
border: 1px #8194b2 solid; 
font : normal 100% "Tahoma", sans-serif; 
} 
+0

Por desgracia, de hecho desear dejar otros tipos afectada. Voy a cambiar cosas como la altura y el color de fondo, por lo que se reflejaría bastante desagradable en, por ejemplo, una casilla de verificación. –

+0

De hecho. Ya que solo está usando javascript para algunos estilos menores, creo que puede justificar su uso. No afectará la funcionalidad de la minoría sin javascript. – Stuart

1

¿Se pone un atributo de clase en la que el trabajo de entrada de elemento para usted?

input.text {

// algunos atributos y valores CSS aquí ....

}

  • quizá más elegante que JS
8

Si está utilizando jQuery, intente agregarlo a su onDOMready:

$('input[type="text"]').addClass('typeText'); 

Luego, en el CSS que podría así que algo como:

input.typeText, input[type="text"] { 
    color:#efefef; 
} 
Cuestiones relacionadas