Foros del Web » Creando para Internet » CSS »

Aplicar estilos distintos a campos diferentes de un formulario

Estas en el tema de Aplicar estilos distintos a campos diferentes de un formulario en el foro de CSS en Foros del Web. buenas tardes, he tropezado con este problema de forma inesperada, tengo un formulario tabulado con una tabla, y necesito dar un formato distinto a algunos ...
  #1 (permalink)  
Antiguo 22/07/2013, 06:11
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 8 meses
Puntos: 2
Aplicar estilos distintos a campos diferentes de un formulario

buenas tardes,

he tropezado con este problema de forma inesperada,
tengo un formulario tabulado con una tabla, y necesito dar un formato distinto a algunos de los campos del formulario, pero no lo logro:

si tengo por ejempo:

Código HTML:
Ver original
  1. <input type="text" id="campo1">
  2. <input type="text" id="campo2" class="csscampo2">
  3. </form>

pues resulta que las reglas que defino en csscampo2 no se aplican, es decir, se heredan las propiedades generales del formulario, y viendo las herramientas para desarrolladores los estilos definidos en csscampo2 se anulan.

¿cómo se resuelven estos casos?
(me tiene desesperado)

un saludo,
josé carlos.
  #2 (permalink)  
Antiguo 22/07/2013, 06:16
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: aplicar estilos distintos a campos diferentes de un formulario

¿Cómo estás indicando tus estilos? Sin eso poco te podemos ayudar.

Puede ser que sea un problema de especificidad de CSS. Pero bueno, habría que ver los selectores que seguramente vayas a publicar.
  #3 (permalink)  
Antiguo 22/07/2013, 10:01
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 10 años, 9 meses
Puntos: 401
Respuesta: Aplicar estilos distintos a campos diferentes de un formulario

Deberías definir y separar los campos en el CSS.
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-
  #4 (permalink)  
Antiguo 22/07/2013, 10:21
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 1 mes
Puntos: 1826
Respuesta: Aplicar estilos distintos a campos diferentes de un formulario

Yo de plano, de plano, siempre que pongo un input type=text, le agrego un class=text y a los button su class igualito por ejemplo.
  #5 (permalink)  
Antiguo 22/07/2013, 10:46
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 8 meses
Puntos: 2
Respuesta: Aplicar estilos distintos a campos diferentes de un formulario

quiero especificar un color de fondo distinto:

por ejemplo:
si especifico un background:#F5F5F5
para todos los input del formulario

Código HTML:
Ver original
  1. <form class="cssform" id="formulario">

Código CSS:
Ver original
  1. .cssform{
  2. background:#F5F5F5
  3. }

y luego aplico una clase a un elemento individual

Código HTML:
Ver original
  1. <input type="text" id="campo1" class="csscampo1">

Código CSS:
Ver original
  1. .csscampo1{
  2. background:#FFFFFF;
  3. }

no toma el fondo especificado individualmente al input campo1, consultando las herramientas para webmasters, aparece anulado.

un saludo,
josé carlos.
  #6 (permalink)  
Antiguo 22/07/2013, 11:16
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Aplicar estilos distintos a campos diferentes de un formulario

Uhm. Si le especificas un fondo a form no se van a poner los elementos del formulario de ese color, sino el propio formulario, ya que form es un elemento en si mismo.

Tal cual lo indicas en tu código, no debería de ocurrir lo que mencionas. ¿Podrías poner el código necesario para reproducir el problema? Seguro que es alguna otra cosa que no estás teniendo en cuenta.
  #7 (permalink)  
Antiguo 22/07/2013, 11:49
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 8 meses
Puntos: 2
Respuesta: Aplicar estilos distintos a campos diferentes de un formulario

hola,

bien, en realidad el formato está definido así, es decir, está aplicado a los input:

Código CSS:
Ver original
  1. .cssform input{
  2. background:#F5F5F5
  3. }
  #8 (permalink)  
Antiguo 22/07/2013, 11:56
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Aplicar estilos distintos a campos diferentes de un formulario

Pues es un problema de especificidad de CSS. Es más específico el selector .cssform input que .csscampo1; el primero tiene 0011 y el segundo 0010.

Te valdría con hacer:

Código CSS:
Ver original
  1. input.csscampo1 {
  2.   background:#FFFFFF;
  3. }

Así tendrían la misma especificidad —0011, una clase y un elemento— y se aplicaría el último que tengas declarado en tu hoja de estilos.
  #9 (permalink)  
Antiguo 22/07/2013, 13:53
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 8 meses
Puntos: 2
Respuesta: Aplicar estilos distintos a campos diferentes de un formulario

así solo se aplican los estilos de dnparform y inparform que no están definidos en .neparform input:

Código CSS:
Ver original
  1. .nparform input {
  2. font-family:Arial;
  3. font-size:14px;
  4. background:#F5F5F5
  5. }
  6.  
  7. .dnparform {
  8. font-size:10px;
  9. }
  10.  
  11. .inparfom {
  12. background:#FFFFFF;
  13. border:1px solid #c0c0c0;
  14. border-radius:5px;
  15. }

de esta forma, no se aplican los estilos de dnparform ni inparform

Código CSS:
Ver original
  1. .nparform input {
  2. font-family:Arial;
  3. font-size:14px;
  4. background:#F5F5F5
  5. }
  6.  
  7. input .dnparform {
  8. font-size:10px;
  9. }
  10.  
  11. input .inparfom {
  12. background:#FFFFFF;
  13. border:1px solid #c0c0c0;
  14. border-radius:5px;
  15. }


y si utilizo esta alternativa, tampoco se aplican los estilos de dnparform ni inparform

Código CSS:
Ver original
  1. .nparform input {
  2. font-family:Arial;
  3. font-size:14px;
  4. background:#F5F5F5
  5. }
  6.  
  7. .dnparform input {
  8. font-size:10px;
  9. }
  10.  
  11. .inparfom input {
  12. background:#FFFFFF;
  13. border:1px solid #c0c0c0;
  14. border-radius:5px;
  15. }

y la verdad no se cual es la solución.
es posible que el problema radique en que los input se crean de forma dinámica.

podría aplicar un estilo diferente a cada input, y no definir esos formatos de forma general,
pero creo que debe haber una mejor solución.

un saludo,
josé carlos.

Última edición por evoarte; 22/07/2013 a las 14:15
  #10 (permalink)  
Antiguo 22/07/2013, 14:57
Avatar de Mikmoro
Colaborador
 
Fecha de Ingreso: octubre-2006
Ubicación: K-pax
Mensajes: 7.228
Antigüedad: 17 años, 6 meses
Puntos: 280
Respuesta: Aplicar estilos distintos a campos diferentes de un formulario

¿Y si lo pones así?

CSS
<style type="text/css">
.cssform{background:#F5F5F5}
input.csscampo1{background:#FFFF00;}
</style>

HTML
<body>
<form class="cssform" id="formulario">
<input type="text" id="campo1" class="csscampo1"/>
<input type="text" id="campo2" class="csscampo2"/>
</form>
</body>
__________________
Visita mi nueva web idplus.org
  #11 (permalink)  
Antiguo 22/07/2013, 15:18
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 8 meses
Puntos: 2
Respuesta: Aplicar estilos distintos a campos diferentes de un formulario

buenas noches,

así no se aplican los estilos que se definen de forma general, es decir,

Código CSS:
Ver original
  1. .nparform {
  2. font-family:Arial;
  3. font-size:14px;
  4. background:#F5F5F5
  5. }

un saludo,
josé carlos.
  #12 (permalink)  
Antiguo 22/07/2013, 15:20
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Aplicar estilos distintos a campos diferentes de un formulario

En ninguno de tus ejemplos has puesto el selector como te hemos dicho. La cosa es poner input y .csscampo1 juntos, sin ningún tipo de espacio.
  #13 (permalink)  
Antiguo 22/07/2013, 15:32
Avatar de Mikmoro
Colaborador
 
Fecha de Ingreso: octubre-2006
Ubicación: K-pax
Mensajes: 7.228
Antigüedad: 17 años, 6 meses
Puntos: 280
Respuesta: Aplicar estilos distintos a campos diferentes de un formulario

Cita:
Iniciado por evoarte Ver Mensaje
buenas noches,

así no se aplican los estilos que se definen de forma general, es decir
josé carlos.
¿Has probado este código así exactametne como te lo pongo y no te funciona como tú querías?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="es-es">
<head><title>evoarte</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
.cssform{background:#F5F5F5}
input.csscampo1{background:#FFFF00;}
</style>
</head>
<body>
<form class="cssform" id="formulario">
<input type="text" id="campo1" class="csscampo1"/>
<input type="text" id="campo2" class="csscampo2"/>
</form>
</body>
</html>

Para ver si funcionan o no esas otras clases como quieres deberías poner el hmtl tal y como lo estás usando.
__________________
Visita mi nueva web idplus.org
  #14 (permalink)  
Antiguo 23/07/2013, 01:19
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 8 meses
Puntos: 2
Respuesta: Aplicar estilos distintos a campos diferentes de un formulario

lo he probado exactamente igual.

un saludo,
josé carlos.
  #15 (permalink)  
Antiguo 24/07/2013, 05:37
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Aplicar estilos distintos a campos diferentes de un formulario

Pues sólo queda que pongas el código completo que estás usando, porque algo estarás haciendo mal seguramente.

Adjunta HTML y CSS, como digo, completo. O crea un jsfiddle y nos pasas la URL:
  #16 (permalink)  
Antiguo 24/07/2013, 09:02
Avatar de Mikmoro
Colaborador
 
Fecha de Ingreso: octubre-2006
Ubicación: K-pax
Mensajes: 7.228
Antigüedad: 17 años, 6 meses
Puntos: 280
Respuesta: Aplicar estilos distintos a campos diferentes de un formulario

Cita:
Iniciado por evoarte Ver Mensaje
buenas tardes,
pues resulta que las reglas que defino en csscampo2 no se aplican, es decir, se heredan las propiedades generales del formulario, y viendo las herramientas para desarrolladores los estilos definidos en csscampo2 se anulan.

¿cómo se resuelven estos casos?
(me tiene desesperado).
Cita:
Iniciado por evoarte Ver Mensaje
quiero especificar un color de fondo distinto:

por ejemplo:
si especifico un background:#F5F5F5
para todos los input del formulario

y luego aplico una clase a un elemento individual

no toma el fondo especificado individualmente al input campo1, consultando las herramientas para webmasters, aparece anulado.
Esto decías en tu consulta original, y yo creo que el código de ejemplo que te he puesto hace exactamente eso, es decir: define un color de fondo de manera global al form con la clase .cssform, y luego personaliza otro color de fondo para el input específico con la clase .csscampo1, es decir, lo que pedías, y funciona perfectamente.
Como te dice el moderador pzin, concreta bien tu consulta.
__________________
Visita mi nueva web idplus.org
  #17 (permalink)  
Antiguo 24/07/2013, 09:48
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 8 meses
Puntos: 2
Respuesta: Aplicar estilos distintos a campos diferentes de un formulario

gracias por vuestro interés,
lo he solucionado definiendo una class para cada input,
no he logrado resolverlo de otra manera,

(es un formulario al que se van agregando filas de forma dinámica)

gracias,
espero seguir contando con vuestra ayuda

un saludo,
josé carlos.
  #18 (permalink)  
Antiguo 24/07/2013, 09:50
Avatar de Mikmoro
Colaborador
 
Fecha de Ingreso: octubre-2006
Ubicación: K-pax
Mensajes: 7.228
Antigüedad: 17 años, 6 meses
Puntos: 280
Respuesta: Aplicar estilos distintos a campos diferentes de un formulario

Lo dicho: si quieres buscar una mejor solución pon un trozo de html generado dinámicamente y el correspondiente CSS; si no, creo que algún día la generación dinámica y asignar clases diferentes con un random o algo así te va a dar más de un problema.
Saludos.
__________________
Visita mi nueva web idplus.org

Etiquetas: campos, distintos, estilos
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 13:18.