Deux thèmes en css et html

Fermé
Onze - 16 nov. 2012 à 21:06
 Onze - 22 nov. 2012 à 19:20
Bonjour,
J'aimerais savoir si il était possible de créer deux thèmes, en css et html, qui pourrait être choisis par un visiteur du site.
Merci de m'aider dans ma requête

Ps: ce serait peut-être du javascript qui sait ?


A voir également:

5 réponses

Rodolphe_ Messages postés 1498 Date d'inscription samedi 7 mai 2005 Statut Membre Dernière intervention 20 décembre 2014 285
17 nov. 2012 à 00:16
0
RAD ZONE Messages postés 5230 Date d'inscription samedi 20 janvier 2007 Statut Contributeur Dernière intervention 17 août 2024 1 360
Modifié par RAD ZONE le 17/11/2012 à 00:50
Salut

pour le html il faut juste le rediriger vers une autre page html ?

mais pour un changement de style CSS oui ca s appelle un switch css !


voila un exemple de switcher css(avec cookie )

<!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" xml:lang="en" lang="en">  
  <head>  
    <title>  
      RAD ZONE Webcreation  
    </title>  
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />  

    <!-- DEBUT JS CSS SWITCHER -->  

    <script type="text/javascript">  
    /*<![CDATA[*/  
     function setActiveStyleSheet(title) {  
  var i, a, main;  
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {  
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {  
      a.disabled = true;  
      if(a.getAttribute("title") == title) a.disabled = false;  
    }  
  }  
}  

function getActiveStyleSheet() {  
  var i, a;  
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {  
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");  
  }  
  return null;  
}  

function getPreferredStyleSheet() {  
  var i, a;  
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {  
    if(a.getAttribute("rel").indexOf("style") != -1  
       && a.getAttribute("rel").indexOf("alt") == -1  
       && a.getAttribute("title")  
       ) return a.getAttribute("title");  
  }  
  return null;  
}  

function createCookie(name,value,days) {  
  if (days) {  
    var date = new Date();  
    date.setTime(date.getTime()+(days*24*60*60*1000));  
    var expires = "; expires="+date.toGMTString();  
  }  
  else expires = "";  
  document.cookie = name+"="+value+expires+"; path=/";  
}  

function readCookie(name) {  
  var nameEQ = name + "=";  
  var ca = document.cookie.split(';');  
  for(var i=0;i < ca.length;i++) {  
    var c = ca[i];  
    while (c.charAt(0)==' ') c = c.substring(1,c.length);  
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);  
  }  
  return null;  
}  

window.onload = function(e) {  
  var cookie = readCookie("style");  
  var title = cookie ? cookie : getPreferredStyleSheet();  
  setActiveStyleSheet(title);  
}  

window.onunload = function(e) {  
  var title = getActiveStyleSheet();  
  createCookie("style", title, 365);  
}  

var cookie = readCookie("style");  
var title = cookie ? cookie : getPreferredStyleSheet();  
setActiveStyleSheet(title);  

    /*]]>*/  
    </script>  
     <!-- FIN JS CSS SWITCHER -->  

       <!-- DEBUT LIENS CSS SWITCHER -->  
    <link rel="stylesheet" href="bleu.css" type="text/css" title="default" />  
    <link rel="alternate stylesheet" type="text/css" href="rouge.css" title="alternative" />  
   <link rel="alternate stylesheet" type="text/css" href="vert.css" title="alternative2" />  
        <!-- FIN CSS LIENS SWITCHER -->  

<style type="text/css">  
/*<![CDATA[*/  
    div.c3 {height: 30px; position: relative}  
    a.c1 {color: #FF6600; margin: 10px}  
    /*]]>*/  
    </style>  
  </head>  
  <body>  

  <!--  DEBUT SWITCHER -->  
    <div class="c3">  
      <a href="#" onclick="setActiveStyleSheet('alternative');return false;" class="c1">ROUGE</a>  
      <a href="#" onclick="setActiveStyleSheet('alternative2');return false;" class="c1">VERT</a>  
      <a href="#" onclick="setActiveStyleSheet('default');return false;" class="c1">BLEU</a>  
      </div>  
      <!-- FIN SWITCHER -->  

    <div id="test">  
      COULEUR CHANGEANTE !  
    </div>  
  </body>  
</html>  


et les 3 CSS

BLEU
bleu.css

body{  
  background-color: #535353;  
}  

#test{  
  height: 400px;  
  width: 200px;  
  margin: auto;  
  margin-top: 30px;  
  background-color: #0066FF;  
  border: 3px solid #FFFFFF;  
  font-family: Georgia;  
}


ROUGE
rouge.css

body{  
  background-color: #535353;  
}  

#test{  
  height: 200px;  
  width: 400px;  
  margin: auto;  
  margin-top: 30px;  
  background-color: #FF0000;  
  font-family: Palatino Linotype;  
 font-size: 30px;  
}


VERT
vert.css

body{  
  background-color: #535353;  
}  

#test{  
  height: 200px;  
  width: 400px;  
  margin: auto;  
  margin-top: 30px;  
  background-color: #00CC00;  
  font-family: Palatino Linotype;  
 font-size: 20px;  
}


tu mettra le js en fichier externe bien sur !!

a+

♣ La plus grande erreur que puisse faire un homme est d'avoir peur d'en faire une. ♣
0
Salut, je n'arrive toujours pas à le faire, par ce que je pense qu'il prend toujours en compte le css default, or j'aimerais qu'il en tienne plus compte.
0
RAD ZONE Messages postés 5230 Date d'inscription samedi 20 janvier 2007 Statut Contributeur Dernière intervention 17 août 2024 1 360
Modifié par RAD ZONE le 19/11/2012 à 10:25
Salut, je n'arrive toujours pas à le faire, par ce que je pense qu'il prend toujours en compte le css default


c est que tu a fais une erreur en recopiant mon code !!!
essaye en le faisant avec les codes que j ai mis au post precedent tu verras :-))

ou que tu as mal config le switcher en fonction de tes css !

dans mon exemple a 3 CSS !
lien CSS

 <link rel="stylesheet" href="bleu.css" type="text/css" title="default" />  
    
    <link rel="alternate stylesheet" type="text/css" href="rouge.css" title="alternative" />  
    
   <link rel="alternate stylesheet" type="text/css" href="vert.css" title="alternative2" /> 


Code Switcher html

<a href="#" onclick="setActiveStyleSheet('alternative');return false;" class="c1">ROUGE</a>  
    
      <a href="#" onclick="setActiveStyleSheet('alternative2');return false;" class="c1">VERT</a>  
    
      <a href="#" onclick="setActiveStyleSheet('default');return false;" class="c1">BLEU</a>


a+



♣ La plus grande erreur que puisse faire un homme est d'avoir peur d'en faire une. ♣
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Salut,
Voilà je t'explique ce que je veux vraiment clair.
J'ai un site http://onzze.fr sous tumblr, j'aimerais qu'en cliquant sur un lien le template de ce blog s'affiche http://jfjsojgoosqjgdsvdsds.tumblr.com/ avec un stylesheet comme tu as dis en haut, mais j'aimerais en même temps qu'avec un java, j'arrive à cacher un div et en affiche un autre, comment faire ? En esperant etre clair !
0