Foros del Web » Creando para Internet » CSS »

Aprovechar CSS para varios objetos

Estas en el tema de Aprovechar CSS para varios objetos en el foro de CSS en Foros del Web. Hola a todos! Tengo varios objetos que emplean unas caraterísticas a nivel de CSS comunes. Sólo varía una de ellas: el width. Por ejemplo, un ...
  #1 (permalink)  
Antiguo 21/03/2011, 09:52
 
Fecha de Ingreso: febrero-2011
Mensajes: 156
Antigüedad: 6 años, 10 meses
Puntos: 4
Aprovechar CSS para varios objetos

Hola a todos! Tengo varios objetos que emplean unas caraterísticas a nivel de CSS comunes. Sólo varía una de ellas: el width. Por ejemplo, un campo de texto ( input type="text" ). Todos ellos tiene las mismas caracterísiticas de color de fondo, fuente, alto, etc... Pero claro, unos tendrán un width y otros tendrán otro. Qué me aconsejáis:

1. ¿Definirme tantos CSS como objetos?
2. ¿O un CSS común, y la característica "width" especificarla para cada objeto? En este caso, sería algo del estilo:
<input id="id1" type="text" class="css_general" style="width:50px;">
<input id="id2" type="text" class="css_general" style="width:80px;">

Yo creo que sería mejor la segunda opción, pero no sé mucho de CSS...

Muchas gracias!
  #2 (permalink)  
Antiguo 21/03/2011, 11:11
Avatar de sanxuan  
Fecha de Ingreso: enero-2011
Ubicación: Gijón
Mensajes: 671
Antigüedad: 6 años, 11 meses
Puntos: 36
Respuesta: Aprovechar CSS para varios objetos

No te recomiendo el usar el estilo en línea usando el atributo style. Resulta más complicado de modificar si fuese necesario en el futuro.
Si estás dispuesto a declarar un id por cada elemento puedes usarlo para definir el ancho en el archivo css.
.css-general{... propiedades comunes ...}
#id1{width:50px;}
#id2{width:80px;}
Otra posibilidad es usar varias clases en el mismo elemento en lugar del atributo id.
<input type="text" class="css_general class1">
Al input anterior se le asignan las clases .css_general y la clase .class1 que definiría el ancho.
Puede ser más útil que el id si quieres usar el mismo ancho u otra propiedad en varios elementos.
  #3 (permalink)  
Antiguo 21/03/2011, 11:35
 
Fecha de Ingreso: febrero-2011
Mensajes: 156
Antigüedad: 6 años, 10 meses
Puntos: 4
Respuesta: Aprovechar CSS para varios objetos

Vale! Genial! Entiendo lo que quieres decir... Pero el problema de emplear un estilo en linea en lugar de centralizado, es únicamente por temas de posibles modificaciones posteriores, no? Es decir, tener que entrar en cada documento para modificar el atributo width del elemento en cuestión. Cuando, si estuviese centralizado, de una sola vez se actualizarían todos, es así? Pero, si se trata de eso, en mi caso no es problema. Por que se trata de los campos de los formularios. Cada campo puede tener un determinado width. Y, si algún día he de cambiar uno de esos width, sólo haría referencia a ese campo. No debería extrapolarse a otros campos.

Si sólo hay ese problema, utilizaré el atributo css para asignar el css general y style para asignar el width particular para ese campo. Otra opción es definirme en el css externo varios css de estilo:
css_100 { width:100px;}
css_90 { width:90px;}
...
y así trabajar como decías <input type="text" class="css_general css_100"> Pero claro, el campo puede tener cualquier width ( 15, 17, 23, .. ) no me voy a definir un css en el css externo con todos los posibiles width de la web. Además, es lo que te comentaba, si uno de lsso campos pasa de 100 a 97 igualmente he de entrar en ese elemento en patricular y cambiar ese width. Pero sólo para ese campo.

Total, que gracias por tu respuesta. Me ha quedado claro. Y, para lo que quiero hacer, creo que me interesa emplear css para el css general y style para el width en particular.

Etiquetas: objetos
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 11:18.