Comunidad de diseño web y desarrollo en internet online

Crear Hoja de Estilo con php y paso de variable

Citar            
MensajeEscrito el 20 Sep 2011 11:06 am
Hola a todos,
tengo un pequeño problema que me gustaría me resolviérais: Creo una hoja de estilos con php, que lo llamo des de un archivo html, y me gustaría que esta hoja de estilos me cargara una imagen distinta cuando pulsara un link de la página html.

¿Cómo paso la variable a la hoja de estilos que creo con php?

Gracias por vuestra ayuda.

Dinki

Por Dinki

6 de clabLevel



 

msie
Citar            
MensajeEscrito el 20 Sep 2011 12:05 pm
CSS no trabaja con variables (por el momento).
Pero me da la impresión que lo tuyo se puede resolver con JavaScript. Si fueras tan amable de explicarnos qué efecto quieres lograr...

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 20 Sep 2011 12:28 pm
Mi explicación de lo que hago:

Mediante css cargo unos menús que son imágenes "png". Por lo tanto al cargar la página html los menús se cargan con las imágenes que hay dentro del archivo "css". La página html permite al usuario cambiar el tipo de menús por lo que las imágenes de los menús se cambiarían.

De momento cambio las imágenes utilizando archivos "css" distintos. Es decir, intercambio las hojas de estilo mediante 'javascript'. Pero esto implica que tenga archivos "css" prácticamente iguales, sólo con alguna imagen cambiada.

Quería saber si me podía ahorrar estos archivos, usando sólo una hoja de estilos y una variable con el nombre de la imagen del menú que hay que cambiar.

Gracias, espero que me haya explicado.

Dinki.

Por Dinki

6 de clabLevel



 

msie
Citar            
MensajeEscrito el 20 Sep 2011 12:46 pm
Sí, entiendo perfectamente y no, no puedes hacer eso tal como pretendías pero sí puedes hacerlo con JavaScript.
Supongo que las imágenes a las que te refieres están en el background del elemento que conforma el menú en cuestión.
Pues algo así es lo que buscas:

Código Javascript :

document.getElementById("item-menu1").style.backgroundImage="url('img_tree.png')";

Donde "item-menu1" es el id del elemento al que le quieres cambiar la imagen.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 20 Sep 2011 01:01 pm
Ya entiendo, es una buena solución. Aunque tendré que modificar un par de cosas.
Muchas gracias por ser tan rápido en contestarme.

Gracias.

Dinki

Por Dinki

6 de clabLevel



 

msie
Citar            
MensajeEscrito el 25 Sep 2011 07:06 pm
Lo que podrias haces es crear un archivo php y modificar el tipo de contenido por "text/css".

Aquí te pongo un ejemplo:

index.html

Código HTML :

<html>
   <head>
      <link href="style.php?color=red" rel="stylesheet" type="text/css" />
   </head>
   <body>
      Texto de ejemplo
   </body>
</html>


como puedes ver style.php es el archivo donde pondremos el css y le enviamos el parametro color.

style.php

Código PHP :

<?
header('Content-Type: text/css'); //el archivo será text/css
echo '
body{
   color: '.$_GET['color'].'; //asignamos a color, el parametro que recibimos
}';
?>


espero que te ayude en algo.

Por zarkiel

Claber

340 de clabLevel

4 tutoriales

Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.