Foros del Web » Creando para Internet » CSS »

CSS Dinámico?

Estas en el tema de CSS Dinámico? en el foro de CSS en Foros del Web. Hola amigos, tengo un problema de exceso de código que me gustaría solucionar. El caso, es que en el siguiente código, solamente cambia una palabra, ...
  #1 (permalink)  
Antiguo 27/12/2005, 02:40
 
Fecha de Ingreso: febrero-2002
Ubicación: Lima
Mensajes: 48
Antigüedad: 15 años, 10 meses
Puntos: 0
CSS Dinámico?

Hola amigos,

tengo un problema de exceso de código que me gustaría solucionar.
El caso, es que en el siguiente código, solamente cambia una palabra, esta se encuentra en una base de datos y la obtengo por MySQL con PHP.

Mi pregunta es: Podría hacer dinámico este CSS para que este valor sea una variable que se pase y muestre el códido correcto???

En este caso, les muestro el código para las cajas en azul. Tengo el mismo código en verde, rojo, etc... y lo único que cambia es la URL de donde obtiene las imágenes.

Tendría que comenzar, algo como:

div.module_[variable]{

no??

Código:
/*PARA EL BOX AZUL*/

div.module_azul {
        margin: 0px 0px 0px 0px;
        width: 100%;
        border-left: solid 0px #000000;
        border-right: solid 0px #000000;
        border-top: solid 0px #000000;
        border-bottom: solid 0px #000000;
        margin-left: 0px;
		background: url('../images/azul/box_L.jpg') repeat-y left;
        }
		
div.module_azul div{
	background: url('../images/azul/box_R.jpg') repeat-y right;
	}
	
div.module_azul div div {
	background: url('../images/azul/box_T.jpg') no-repeat top;
}

div.module_azul div div div {
    background: url('../images/azul/box_B.jpg') no-repeat bottom;
}
Muchas gracias por su ayuda

Demis
  #2 (permalink)  
Antiguo 27/12/2005, 10:44
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 14 años
Puntos: 13
Para la hoja de estilos puedes usar un archivo PHP en vez de CSS.

Un ejemplo (estilos.php):

Código:
/*PARA EL BOX AZUL*/
<?php
    $color = 'azul';
?>

div.module_<?php echo $color;?> {
        margin: 0px 0px 0px 0px;
        width: 100%;
        border-left: solid 0px #000000;
        border-right: solid 0px #000000;
        border-top: solid 0px #000000;
        border-bottom: solid 0px #000000;
        margin-left: 0px;
background: url('../images/<?php echo $color;?>/box_L.jpg') repeat-y left;
        }

div.module_<?php echo $color;?> div{
background: url('../images/<?php echo $color;?>/box_R.jpg') repeat-y right;
}

div.module_<?php echo $color;?> div div {
background: url('../images/<?php echo $color;?>/box_T.jpg') no-repeat top;
}

div.module_<?php echo $color;?> div div div {
    background: url('../images/<?php echo $color;?>/box_B.jpg') no-repeat bottom;
}
En este caso el "color" lo defino en una variable, y luego imprimo esa variable en la zona del texto correspondiente. en tu caso el valor de esa variable la sacas desde la BD.

Finalmente llamas al archivo PHP igual como si lo hicieras con un archivo CSS:

Código:
<link href="estilos.php" type="text/css" rel="stylesheet">
__________________
El conocimiento es libre: Movimiento por la Devolución
  #3 (permalink)  
Antiguo 27/12/2005, 10:50
 
Fecha de Ingreso: febrero-2002
Ubicación: Lima
Mensajes: 48
Antigüedad: 15 años, 10 meses
Puntos: 0
Hay un problema.... esta hoja de estilos no puedo (o en todo caso lo veo complicado) convertirla a php, porque es la hoja de estilos principal del Joomla! (hermano mayor de Mambo). O sea, es parte de un CMS.

Se puede hacer algo en este caso?

Gracias por tu respuesta

Demis
  #4 (permalink)  
Antiguo 27/12/2005, 11:35
Avatar de K3NNY
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: ARGENTINA!
Mensajes: 1.493
Antigüedad: 13 años, 9 meses
Puntos: 20
No es para nada complicado. Simplemente tenes que renombrarla a .php y cambiar la URL en el "header" (supongo que tendra un header en comun).
__________________
delFuego.com.ar
mi tumblelog sobre diseño

La dedicación en mi respuesta es directamente proporcional a la dedicación en tu pregunta.
  #5 (permalink)  
Antiguo 27/12/2005, 12:31
Avatar de RoQ
RoQ
 
Fecha de Ingreso: abril-2005
Mensajes: 771
Antigüedad: 12 años, 7 meses
Puntos: 0
o puedes crear otra donde solo vayan esas clases y le aumentas otro <link ..../> en el header
  #6 (permalink)  
Antiguo 27/12/2005, 14:35
Avatar de webosiris
Moderador egiptólogo
 
Fecha de Ingreso: febrero-2002
Ubicación: Luxor, Egipto
Mensajes: 10.727
Antigüedad: 15 años, 9 meses
Puntos: 997
yo antes de complicarme con php y demás puliría bien el css... por ejemplo
Cita:
border-left: solid 0px #000000;
border-right: solid 0px #000000;
border-top: solid 0px #000000;
border-bottom: solid 0px #000000;
se puede sustituir por
Código HTML:
border: 0;
__________________
Pasamos tus PSD a HTML

Pobre del que lo sabe todo, porque no tiene nada más que aprender ni razón para vivir. -
  #7 (permalink)  
Antiguo 27/12/2005, 14:45
 
Fecha de Ingreso: febrero-2002
Ubicación: Lima
Mensajes: 48
Antigüedad: 15 años, 10 meses
Puntos: 0
La "solución"

Tienes toda la razón webosiris, es el siguiente paso.

Pero quiero compartir con todos la solución por la que tuve que optar, no lo que quería exactamente, pero a final de cuentas "solución".

Tuve que crear un archivo CSS más con toda la información de estos boxes por separado por cada color.

Intenté convirtiendo el CSS a PHP, pero el Joomla! parece que no le gusto la idea, pues por más que le ponía la extensión .php tanto en el XML como en el link del index.php, no lo reconció pero por nada del mundo.

Muchas gracias a todos por sus ideas!

Demis
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 15:16.