Foros del Web » Creando para Internet » CSS »

[SOLUCIONADO] Color de un div según su contenido solo con css

Estas en el tema de Color de un div según su contenido solo con css en el foro de CSS en Foros del Web. Quisiera saber si es posible cambiar el color de un div según su contenido usando solamente usando CSS. Coloco un ejemplo: Tengo el siguiente menu: ...
  #1 (permalink)  
Antiguo 25/09/2013, 19:52
Avatar de fegm_4  
Fecha de Ingreso: febrero-2013
Mensajes: 114
Antigüedad: 11 años, 2 meses
Puntos: 8
Color de un div según su contenido solo con css

Quisiera saber si es posible cambiar el color de un div según su contenido usando solamente usando CSS.

Coloco un ejemplo:
Tengo el siguiente menu:
  • Home
  • Productos
    • Hogar
    • Niños
    • Mascotas
  • Galeria
    • Clientes
    • Proveedores
  • Contacto

Donde el color de la fuente de las palabras Home, Productos, Galeria y Contacto seria Azul, Rojo, Verde y Naranja respectivamente. Luego cada submenú hereda el color del padre.

Si podrían ayudarme se los agradecería
__________________
--
Aqui fegm_4
  #2 (permalink)  
Antiguo 26/09/2013, 02:35
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Respuesta: Color de un div según su contenido solo con css

Puedes ponerle clases o identificadores a cada elemento:

Código HTML:
Ver original
  1. <li class="productos">
  2.   Productos
  3.   <ul>
  4.   </ul>
  5. </li>
  6. <li class="galeria">
  7.   Galería
  8.   <ul>
  9.   </ul>
  10. </li>

Código CSS:
Ver original
  1. .productos {
  2.   color: blue;
  3. }
  4.  
  5. .galeria {
  6.   color: red;
  7. }

O usar nth-child() en el selector:

Código CSS:
Ver original
  1. ul > li:nth-child(1) {
  2.   color: blue;
  3. }
  4.  
  5. ul > li:nth-child(2) {
  6.   color: red;
  7. }
  #3 (permalink)  
Antiguo 26/09/2013, 06:55
Avatar de fegm_4  
Fecha de Ingreso: febrero-2013
Mensajes: 114
Antigüedad: 11 años, 2 meses
Puntos: 8
Respuesta: Color de un div según su contenido solo con css

Saludos pzin! Gracias por tu respuesta!. La segunda opción usando la pseudo clase nth-child me parece la mas conveniente debido a que el contenido de mi menu es dinamico (depende de las opciones que tenga el usuario habilitada).

Sin embargo al probarla coloco lo siguiente:
Código CSS:
Ver original
  1. #menu > ul > li > a > span:nth-child(1){
  2.     color: #fcaf3e;
  3. }

y todos los elementos me cambian a ese color y no solo el que quiero. ¿Tienes alguna idea de como podría resolverlo? De nuevo gracias por tu ayuda
__________________
--
Aqui fegm_4
  #4 (permalink)  
Antiguo 26/09/2013, 07:07
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Respuesta: Color de un div según su contenido solo con css

Claro, porque todos los span seguramente sean los primeros hijos de cada enlace.

Ponlo como te dije, y debería de funcionar:

Código CSS:
Ver original
  1. ul > li:nth-child(1) a span {
  2.   color: red;
  3. }
  4.  
  5. ul > li:nth-child(2) a span {
  6.   color: blue;
  7. }
  #5 (permalink)  
Antiguo 26/09/2013, 07:40
Avatar de fegm_4  
Fecha de Ingreso: febrero-2013
Mensajes: 114
Antigüedad: 11 años, 2 meses
Puntos: 8
Respuesta: Color de un div según su contenido solo con css

Funcionó! Disculpa lo torpe, es que soy nuevo en esto ja ja aj. Muchas gracias!
__________________
--
Aqui fegm_4

Etiquetas: desplegable
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 12:42.