nouveau CSS lors de l'appui sur un bouton

scoubida42
Invité n'ayant pas de compte PHPfrance

22 mars 2010, 00:12

Salut à tous,

je suis actuellement sur un projet scolaire de développement d'un site utilisant le langage php.

Je souhaite implémenter une option permettant d'imprimer ma webpage. J'utilise actuellement 2 feuilles de css une normale de media="screen" et une pour imprimer de type media=" print " . Pour cela, il n'y a pas de souci! ça marche parfaitement.
Je souhaite maintenant ajouter un bouton PRINT sur ma page qui me permette lors de son appuie, d'appliquer la feuille css_print sur la page sélectionner sans avoir à recréer la même juste en changeant et en appliquant l'autre css. Comme le projet est assez important on ne peut pas se permettre d'avoir 2 fois la même page quasiment juste avec le lien du css qui change.

Comme puis-je faire et en quelle langage?

Puis-je utiliser quelque chose du genre onclick()??

Ou le langage javascript?

ou alors utiliser quelque chose comme ça en ajoutant une partie dans mon URL : index.php?css=css_print.css même si ce lien-là ne marche pas.

Merci de me conseiller!!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

22 mars 2010, 09:56

Bonjour,

Si tu mets une feuille de style en media="print", alors elle va s'appliquer automatiquement pour l'impression, tu n'as pas besoin de changer quoique ce soit.
Sut ton bouton, fais juste un appel javascript à window.print() et ça marchera :)
Quand tout le reste a échoué, lisez le mode d'emploi...

scoubida42
Invité n'ayant pas de compte PHPfrance

22 mars 2010, 19:25

Salut, en fait, je crois que j'ai mal expliqué mon problème... :(

Ce que j'aimerais faire : j'ai un menu avec un ensemble de liens comme home, aide, logout,...
J'aimerais y ajouter un lien vers la même page mais cette même page sur laquelle on a appliquée le css pour imprimer.

Une sorte de aperçu avant impression mais dans une page internet blanche : la même page qu'avant mais sur laquelle on a appliqué un nouveau css!!

J'espère que c'est plus clair comme ça!!

Merci d'avance de la réponse!!

ViPHP
AB
ViPHP | 5818 Messages

22 mars 2010, 20:25

Dans ta page de prévisualisation tu appelle la même page en remplaçant le media screen par le media print, non ? ou j'ai pas saisi ton pb...

scoubida42
Invité n'ayant pas de compte PHPfrance

22 mars 2010, 20:54

En fait, dans ma page principale, j'ai mes 2 css : un pour média screen et l'autre média print.
Ce que je veux : dans ma page de prévisualisation uen fois que j'ai cliqué sur le bouton, je veux avoir la même page mais cette fois avec le css_print appliqué pour l'écran!
je ne sais pas si c'est toujours incompréhensible?!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

22 mars 2010, 22:32

Voila une proposition :
<link rel="stylesheet" href="style1.css" id="stylesheet">

<script type="text/javascript">

function changeStyle() {
     document.getElementById('stylesheet').href = 'style2.css';
}

</script>


<input type="button" onclick="changeStyle();" />
En + complet : http://www.alistapart.com/articles/alternate/
Quand tout le reste a échoué, lisez le mode d'emploi...

devlop78
Invité n'ayant pas de compte PHPfrance

03 avr. 2010, 19:42

Avec shadow en plus ça peut être pas mal ...