Cambiar estilo visual (CSS) de una web con un click.

13/10/2004 - 05:50 por Scour | Informe spam
Muy buenas, últimamente he visto algunas web que ofrecen una serie de
diferentes estilos CSS y el usuario haciendo click vé como el estilo de la
web cambia completamente. Esos clicks lo que hacen es una llamada a otra
hoja de estilos externa diferente, por ejemplo el portal prefabricado
http://www.mambohispano.org/ tiene un modulo para hacer tal cosa. Mi
pregunta es si eso se puede hacer sin usar lenguajes del lado del servidor
como php o asp. Imagino que tendrá que hacerse necesariamente a través de
una función, pero ¿se podría hacer por ejemplo en JavaScript o VBScript?

Lo que no se me ocurre es como hacer sin un lenguaje del lado del servidor
para cambiar la línea de código que carga la hoja de estilos, me refiero a
esta:

<link href="archivo.css" rel="stylesheet" type="text/css" /> (la barra final
es la de xhtml)

por que supongo que por narices habrá que cambiar esa línea para hacer tal
cosa...

Otra hipotesis que se me ocurre es declarar los estilos con Identificadores

#nombre{propiedad:valor;propiedad2:valor2;...;propiedadN:valorN}

para poder manejarlos con JavaScript, pero como los identificadores no se
pueden repetir esto supondría declarar una cantidad de estilos tremenda...

¿Se os ocurre alguna forma de hacerlo sin lenguajes del lado del servidor o
es sencillamente imposible?

Saludos y gracias.
 

Leer las respuestas

#1 rameltete
14/10/2004 - 08:52 | Informe spam
Hola:

Con javascript quedaria así:

//HEAD
//Puedes combinarlas para activar y desactivar al mismo tiempo.
<script>

// Desactivar una hoja CSS
function dissableCSS (styleID) {
eval ("document.styleSheets." + styleID + ".disabled=true")
}

// Activar una hoja CSS
function enableCSS (styleID) {
eval ("document.styleSheets." + styleID + ".disabled=false")
}
</script>

// Atencion al id de la vinculacion a la hoja de estilo
<link href="general.css" rel="stylesheet" type="text/css" id="general">

Un saludo,
Rafael ;-)

Preguntas similares