2010-07-21 12 views
41

Tengo un div llamado "divContainer" dentro del cual tengo pocos elementos de entrada como cuadros de texto, botones de opción y otros. ¿Cómo puedo definir el estilo para luego en el CSS? Quiero mencionar estilos para elementos dentro de este purticular div.not para toda la forma.CSS: Definición de estilos para elementos de entrada dentro de un div

Ej .: Para cuadros de texto, necesito ancho como 150px; Para botones de radio, necesito un ancho de 20px;

Respuesta

61

Se pueden definir reglas de estilo que sólo se aplican a los elementos específicos dentro de su div con id divContainer así:

#divContainer input { ... } 
#divContainer input[type="radio"] { ... } 
#divContainer input[type="text"] { ... } 
/* etc */ 
+0

Buen punto de Mike; Revisé el ejemplo del código para usar los selectores de CSS3. Gracias. –

+1

Si no está utilizando CSS3, debe incluir el javascript aquí para que esto funcione: http://www.dustindiaz.com/input-element-css-woes-are-over/ – Swift

2

gusta esta.

.divContainer input[type="text"] { 
    width:150px; 
} 
.divContainer input[type="radio"] { 
    width:20px; 
} 
+0

Esto no es necesariamente compatible con versiones anteriores con navegadores que no son compatibles con CSS3 – Swift

+0

http://www.quirksmode.org/css/contents.html funciona todo el camino de vuelta a IE 6, lo suficientemente bueno para la mayoría de las personas. –

3

Cuando dice "llamado", supongo que quiere decir una etiqueta de identificación.

Para que sea cross-brower, no recomendaría usar el CSS3 [], aunque es una opción. Dicho esto, dele a cada una de sus cajas de texto una clase como "tb" y el botón de radio "rb".

continuación:

#divContainer .tb { width: 150px } 
#divContainer .rb { width: 20px } 

Esto supone que está utilizando las mismas clases en otro lugar, si no, esto será suficiente:

.tb { width: 150px } 
.rb { width: 20px } 

Como se mencionó @ David, para acceder a cualquier cosa dentro de la propia división:

#divContainer [element] { ... } 

Donde [element] es el elemento HTML que necesita.

6

CSS 3

divContainer input[type="text"] { 
    width:150px; 
} 

CSS2 agregar una clase de "texto" a las entradas de texto a continuación, en su css

.divContainer.text{ 
    width:150px; 
} 
+1

Puede usar el javascript vinculado anteriormente para eliminar la adición de clases. – Swift

+1

verdadero, pero luego puede obtener 'pantalla emergente' cuando se evalúa el javascript y realiza cambios en el css. Para los cambios de estilo que implican dimensiones, personalmente me gusta evitar el uso de js en ellos cuando sea posible. Pero ese soy yo :) –

+0

'.divContainer.text' debe ser' .divContainer' – zvone

Cuestiones relacionadas