> Tous les forums > Forum des Webmasters
 changer la déclaration d'un feuille de style (réso
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Michalon1846
  Posté le 10/06/2005 @ 08:06 
Aller en bas de la page 
Petit astucien
Bonjour Est-il possible avec javascript de changer la déclaration d'une feuille de style externe. Merci d'avance

Modifié par Michalon1846 le 27/09/2005 18:37
Publicité
ledave
 Posté le 10/06/2005 à 14:42 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
bonjour Michalon1846, je suis pas sur que ce soit exactement ça que tu cherches, mais voici une solution qui pourrait t'intéresser. if (condition) { document.write('<link rel="stylesheet" type="text/css" href="feuilleDeStyle.css">'); }else{ document.write('<link rel="stylesheet" type="text/css" href="autreFeuilleDeStyle.css">'); } à mettre à la place de là ou tu appelles cette CSS. En français, si la condition est remplie tu appelles une CSS, sinon tu en appelles une autre. Qu'en penses-tu?
casper
 Posté le 11/06/2005 à 09:52 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
bonjour, en complément de l'intervention de ledave ne pas oublier la balise noscript au cas ou js serais déactiver. sinon cela aurais pour concéquance de ne pas faire appelle à une feuille de style [code]<noscript><link rel="stylesheet" type="text/css" href="feuilleDeStyleDefault.css" media="screen" /></noscript>[/code]
Michalon1846
 Posté le 13/06/2005 à 10:03 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Bonjour ledave et casper. Merci pour vos réponse, mais je ne suis décidément pas doué en java script. J'ai essayé de testé en créant un variable et en mettant tout ça dans le head : <script language="javascript" src="../zoom-css/zoom-texte.js" type="text/javascript"> var a=AA if (a='AA') { document.write('<link rel="stylesheet" type="text/css" href="ma_feuille.css">'); }else{ document.write('<link rel="stylesheet" type="text/css" href="autreFeuilleDeStyle.css">'); } </script> et dans le body pour voir <p class="rouge">texte en rouge</p> j'ai vérifié le chemin de la css et sa syntaxe, .rouge {color: #271613; } mais le script ne marche pas. Quelle est mon erreur ?
ti_ouf
 Posté le 13/06/2005 à 10:23 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

salut je peux savoir pourquoi tu veux la déclarer via js? ça concerne plusieurs résolutions?
Michalon1846
 Posté le 13/06/2005 à 10:44 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
salut ti_ouf en fait j'essaye de travailler avec les standards du w3c et d'externaliser tout ce qui est la mise en page. je me disais que ça pourrait me servir soit sur un site pour donner aux visiteurs des choix d'habillage graphique, soit pour utiler les contenus dans différents site en pouvant charger la charte de chacun. [smile] Est ce que tu vois des idées de scripts pour moi. @+ et merci d'avance.
Michalon1846
 Posté le 13/06/2005 à 12:35 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
..../ je reformule ma question : ayant plusieurs feuilles de style externes est-il possible d'en choisir une précise, par un évènement (onload, onclick ..) ??
ledave
 Posté le 13/06/2005 à 13:12 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
salut Michalon1846, la première ligne de ton script n'est pas une condition. L'opérateur '=' est un opérateur d'assignation (c'est français ça?) de valeur. L'opérateur de comparaison est '==' ou même '==='. Quant à
est-il possible d'en choisir une précise, par un évènement (onload, onclick ..) ??
oui tout à fait, par l'appel à l'array StyleSheets de document. [code]document.styleSheets[0].href='feuille.css'[/code]. tout ceci devrait te mettre sur la voie. [idee] @+
Michalon1846
 Posté le 13/06/2005 à 13:41 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
ledave pourrais-tu me donner un peu plus de détail sur l'emploi du document.styleSheets j'essayerais de trouver la voie [dent] merci bcp. @+
ledave
 Posté le 13/06/2005 à 14:04 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Mais bien sur, c'est pour ça qu'on est lá! [smile] JavaScript est un langage de programation Orienté Objet. Un de ces objets est document. Tu peux accéder à tous les éléments qui le composent (formulaires, images, liens, etc...) car ils sont tous repris dans des tableaux, array. Ici en l'occurence, la "phrase":[code]document.styleSheets[0].href='feuille.css'[/code]dit que document.styleSheets[0] => le premier élément de l'array styleSheets (un array commence toujours à 0, zéro) a comme adresse => .href ce qu'il ya de l'autre côté du '='. Donc si par exemple tu veux donner la possibilité aux internautes de changer la feuille de style, tu peux faire un bouton avec le parametre onclick comme ceci:[code]onclick="document.styleSheets[0].href='feuille.css'"[/code]'fin je te dis tout ça sans le tester, il y aura surement des petites précisions à y apporter. Mais si tu essayes et que tu postes ici les messages d'erreurs on t'aidera. voila, j'espère avoir pu un peu éclairer ta lanterne. bon courage et tiens nous au courant des progrès. [hello]
Michalon1846
 Posté le 25/09/2005 à 17:52 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Bonjour à tous ledave, casper et ti_ouf merci pour vos réponses. Je rentre juste chez moi et je n'ai pas encore eu le temps de potasser tout ça qui va me donner des pistes à suivre. mais ça ne résoudra pas ma question qui devait sans doute ^tre plus précise. .... en <head de ma page j'ai défini des styles "alternate" <link rel="alternate stylesheet" type="text/css" href="chemin_d_css" title="nom_du_style"> ils apparaissent bien et fonctionnent à partir du menu "affichage>style de la page" du navigateur (IE Firefox ...) Ce que je voudrais c'est mettre des boutons dans la fénêtre elle même, qui paremettent d'activer tel ou tel style (nb le style s'applique à un élément qui à une ID) En d'autres termes je voudrais reproduire ce qu'on obtient par la barre du navigateur. Comment par javascript ? Merci d'avance. JP
casper
 Posté le 25/09/2005 à 19:13 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
bonjour, je ne me suis pas encore plonger dedans, il te faudra utiliser les cokies pour te souvenir du choix de l'utilisateur. quand au choix entre JS et php, je prèfaire ce dernier car il a le mérite de ne pas dépandre de la config client. cela s'appelle "style switcher" http://css.alsacreations.com/Tutoriels-PHP/style-switcher-php http://blog-and-blues.org/weblog/2004/06/11/242-style-switcher-css-contraintes-et-solutions http://tutoriels.olivier-patry.net/index.php/style-switcher-php/ http://www.openweb.eu.org/articles/presentations_alternatives/ http://giminik.developpez.com/articles/php/style-switcher/ http://www.wikini.net/wakka.php?wiki=FeuillesDeStyleMultiples
Michalon1846
 Posté le 25/09/2005 à 19:56 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
... casper oui passer des variables ! au départ le problème n'est pas là. je dois d'abord suivre la piste de ledave et c'est sur les objets que je patinais. Finalement ça marche avec : <a href="#" onClick="javascript:document.styleSheets[1].href='chemin_autre_style'"> Je ne trouvais pas parce que <a href="javascript:document.styleSheets[1].href='chemin_autre_style'"> ne marchais pas. Pourquoi !! ?? A++
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
699,99 €Ultraportable 15 pouces Asus Vivobook S533UA (OLED FHD, R5 5500U, 8 Go, SSD 512 Go) à 699,99 €
Valable jusqu'au 29 Janvier

RueDuCommerce fait une promotion sur l'ultraportable Asus Vivobook S533UA-L1216T qui passe à 699,99 € au lieu de 799 €. Cet ordinateur dispose d'un superbe écran 15 pouces OLED FHD, d'un processeur AMD Ryzen 5 5500U (6 coeurs) avec chip Radeon Vega 7 intégré, 8 Go de RAM, un SSD NVMe de 512 Go et tourne sous Windows 10 que vous pouvez mettre à jour pour Windows 11. Il ne pèse que 1,8 kg et propose une autonomie réelle de 7h30.


> Voir l'offre
79,99 €Alimentation PC modulaire NZXT C750 750W 80+ Gold à 79,99 €
Valable jusqu'au 29 Janvier

Topachat solde l'alimentation PC modulaire NZXT C750 750W 80+ Gold à 79,99 € au lieu de 119 €. Profitez du meilleur rapport silence/performance possible grâce au mode de ventilation hybride. Lorsque le niveau de charge de l'alimentation est inférieur à 100W, le ventilateur ne tourne pas, pour un silence de fonctionnement parfait à 0 dB. Au delà, le ventilateur 120 mm PWM à roulement hydraulique tourne lentement puis il ajuste sa vitesse de rotation en fonction de la charge. Cette alimentation intègre des condensateurs japonais, gage de qualité et de longévité. Elle est garantie 10 ans par NZXT, pour une utilisation en toute sérénité !


> Voir l'offre
24,99 €Lecteur/graveur de CD/DVD externe USB 3.0 slim à 24,99 €
Valable jusqu'au 28 Janvier

Cdiscount fait une promotion sur le lecteur/graveur de CD/DVD externe USB 3.0 slim qui passe à 24,99 €. Ce graveur vous permettre de lire et graver les CD et DVD sur votre ordinateur qui ne dispose pas de lecteur optique (soit la plupart des portables du marché). Branchez-le simplement sur un port USB de votre PC portable grâce à son câble intégré.


> Voir l'offre

Sujets relatifs
changer le style de l'infobulle
feuille de style
feuille de style avec dreamweaver CS6
Début d'une feuille de style
Problème feuille de style .css
creer une feuille de style
feuille de style e css
Feuille de style CSS
Blog/feuille de style/css
Feuille de style CSS
Plus de sujets relatifs à changer la déclaration d''un feuille de style (réso
 > Tous les forums > Forum Forum des Webmasters