J'ai une page avec un bouton 'imprimante' qui utilise la méthode .css() de jQuery pour supprimer des arrière-plans et des bordures d'éléments spécifiques, et changer la taille de la police. Je peux définir une autre méthode .css() pour tout remettre à sa place, mais y a-t-il un moyen facile de tout ramener sur la page à son CSS d'origine (en plus de rafraîchir la page)?Rétablir le CSS original de la page avec jQuery
Répondre
Vous devez définir vos impression styles sympathiques que les règles de sélection dans votre fichier CSS principal
body.printfriendly .selector .rule
{
font-size:bigger;
}
Et vous pouvez ajouter et supprimer la classe printfriendly
sur l'étiquette du corps pour afficher ou masquer les règles.
Vous pouvez également utiliser la section @media print
pour déclarer les règles qui ne sont appliquées que lorsque l'utilisateur imprime.
@media print
{
.selector .rule
{
font-size:bigger;
}
}
En effet, c'est la bonne façon de s'y prendre. – Noldorin
Vous pouvez supprimer tous les styles en ligne en faisant quelque chose comme
$('*[style]').removeAttr('style');
Il va supprimer tous les styles définis par jQuery, mais aussi potentiellement des autres styles inline définis dans le code HTML. Pas que je le recommande cependant. Je comprends que vous ne voudrez peut-être pas utiliser une feuille de style d'impression. Certains utilisateurs souhaitent imprimer la page telle qu'ils la voient, et vous souhaiterez peut-être ajouter un aperçu avant impression.
Je recommande d'utiliser une classe .printfriendly
que vous pouvez basculer vers la balise body
. De cette façon, vous avez un contrôle total sur le CSS et la couche de présentation.
Bien que je sois d'accord avec d'autres réponses et commentaires pour l'utilisation spécifique du PO, cette réponse répond en fait à la question du titre et était donc ce que je cherchais. Merci. +1 –
Vous pouvez utiliser .removeClass pour enlever la classe que vous avez joint
.addClass('printFriendly');
.removeClass('printFriendly');
Pourquoi ne pas utiliser une feuille de style d'impression qui construit au-dessus de vous l'écran stylesheet? Ce serait beaucoup plus propre:
dans votre modèle HTML:
<link href="/stylesheets/screen.css" media="screen" rel="stylesheet" type="text/css" />
<link href="/stylesheets/print.css" media="print" rel="stylesheet" type="text/css" />
dans votre print.css:
@import "screen.css";
// overwrite disired parts of your screen.css
Maintenant, vous pouvez ajouter un bouton avec la commande javascript suivante:
document.print();
pour ouvrir l'invite d'impression par défaut du navigateur.
Le bouton de l'imprimante est assez old school. CSS 2 a un mécanisme media rule.
@media print {
/* style sheet for print goes here */
}
- 1. WPF: rétablir le pinceau par défaut/original
- 2. Jquery TableSorter 2.0 - Rétablir l'ordre de tri
- 3. Problème avec le pied de page css
- 4. rétablir les fonctionnalités Jquery après le rappel flash
- 5. problème CSS avec la page de bas de page
- 6. Remplir le reste de la page avec CSS
- 7. jQuery redimensionnable(), accès à l'objet original
- 8. Flou page avec CSS
- 9. lire le fichier pdf avec le contenu original
- 10. Méthodes jQuery sur l'objet javascript original?
- 11. Réinitialiser le texte d'espace réservé original de UITextField
- 12. Modifier css avec jquery
- 13. annuler/rétablir l'événement
- 14. Galerie CSS dans JQuery/Ajax la page div
- 15. Annuler, Rétablir la fonctionnalité avec la manipulation d'images dans Flex
- 16. transitions de page avec jquery
- 17. Css hover avec jquery
- 18. Changer le char-set de la page avec jquery
- 19. Préchargement avec JQuery OU Comportement de chargement de page avancé avec la barre de progression jQuery
- 20. Diviser une page avec css
- 21. Modifier le menu contextuel original de Nautilus
- 22. Annuler/rétablir avec UITextView (iOS/iPHone)
- 23. Mise en page verticale CSS avec TABLE
- 24. Comment développer pour "iPhone" original avec le dernier SDK?
- 25. Charger le CSS aléatoire sur l'actualisation de la page
- 26. avec css montrant les divisions de la page
- 27. CSS prend effet après la page
- 28. Suppression titre de la page et la date lors de l'impression page Web (avec CSS?)
- 29. Jquery/CSS Réinitialiser le style
- 30. Surcharge css avec jquery/javascript
Pourquoi tout le jargon de Fiddly? Utilisez simplement une feuille de style de presse écrite dès le départ. Ensuite, il "Just Work" lorsque l'utilisateur imprime. http://www.alistapart.com/articles/goingtoprint/ – Quentin
Je n'avais aucune idée que cela existait. Je vous remercie. – Matthew
Je me rends compte que la réponse est la "bonne" façon mais j'aimerais quand même savoir comment faire ce que vous avez réellement demandé via jquery. – User