Il arrive souvent que les arrière-plans CSS ne s'impriment pas, mais parfois je les utilise pour transmettre des informations contextuelles. Quel est le meilleur moyen de contourner les arrière-plans CSS qui ne s'impriment pas mais que vous voulez vraiment afficher. L'exemple sur lequel je travaille actuellement est une table qui affiche des informations financières. Différentes couleurs d'arrière-plan sont utilisées pour indiquer à quel point un nombre est «bon» (par exemple très rentable, rentable, neutre, négatif, très négatif).Meilleurs moyens de contourner les arrière-plans CSS Ne pas imprimer
Répondre
Deux suggestions:
- texte code couleur dans les lignes de la table
- Ajouter des icônes de couleur au début ou à la fin des lignes de la table
Vous pouvez même incorporer dans la vue normale avec vos couleurs d'arrière-plan.
Vous pouvez rendre la police plus grande et/ou plus gras et/ou italique et/ou colorée.
J'ai couru dans la même couleur de problème de codage des données tabulaires en HTML, finalement je vient de passer à la génération de pdf pour les impressions couleur et ne fait noir et blanc disponible en html
J'ai utilisé les frontières pour simuler les milieux quand je vraiment besoin d'une couleur de fond. Quelque chose comme ça fonctionne (mais je me excuse de ne pas avoir testé ce):
div.must-have-background-for-print {
position: relative;
width: 400px;
}
div.must-have-background-for-print div.background {
position: absolute;
top: 0;
left: 0;
height: 100%;
border-left: 400px solid #999;
}
En réponse au commentaire de @ Steve Quezadas, l'idée est que, plutôt que d'utiliser un arrière-plan, vous insérez un élément dans l'élément a besoin de l'arrière-plan et lui applique une bordure extrêmement large pour qu'il remplisse l'élément extérieur. Cela exige plus probable que le contenu de cet élément sont aussi à l'intérieur d'une autre enveloppe de sorte qu'ils apparaissent au-dessus du nouvel élément de fond ...
Si vous avez commencé avec ceci:
<div class="has-background">Some stuff in here</div>
Vous pouvez utiliser cette :
<div class="has-background">
<div class="background" />
<div class="content">Some stuff in here</div>
</div>
Ceci est extrêmement moche, mais je l'ai utilisé dans le passé et il résout le problème des couleurs d'arrière-plan ne pas imprimer. Et, avant de le demander, vous devrez adapter le CSS à votre cas spécifique. Je décris simplement le concept d'utilisation de bordures pour remplacer les arrière-plans. Votre implémentation dépendra de la structure de votre page, ce qui est extrêmement difficile si vous ne disposez pas de largeurs ou de hauteurs fixes sur vos éléments.
Il s'agit d'un paramètre de navigateur. Turn on background printing in IE. Ainsi, vous pouvez soit changer les paramètres du navigateur (possible si sur un intranet) OU simplement exporter votre rapport vers Excel ou un autre format pour l'impression.
- 1. Recommander de bons moyens d'étendre CSS
- 2. Quels sont les meilleurs moyens de déterminer quel port utilise une application?
- 3. CSS 3 - Vous ne savez pas?
- 4. De meilleurs moyens de déterminer si une colonne d'une table est vide ou non?
- 5. CSS ne s'applique même pas
- 6. Comment contourner ou contourner les informations de connexion DB compilées
- 7. modèle Django ne peut pas voir les fichiers CSS
- 8. Les divs CSS ne s'empilent pas dans l'ordre vertical approprié
- 9. Meilleurs drapeaux pour les vidages de Crash
- 10. Sharepoint Services 3.0 CSS ne fonctionne pas
- 11. CSS ne charge pas dans Firefox
- 12. Comment contourner les conventions de dénomination Symbian?
- 13. CSS ne s'applique pas correctement dans ZendFramework
- 14. IE7 L'héritage CSS ne fonctionne pas
- 15. Largeur DIV ne pas écouter mon CSS
- 16. sélection css ne fonctionne pas dans IE
- 17. CSS: max-height ne fonctionne pas
- 18. Comment contourner le problème d'arrondi des pourcentages IE CSS?
- 19. JAXB Java vers XML: comment ne pas imprimer les membres de type primitif par défaut
- 20. Cache Firebug et CSS ne montrant pas de nouveaux sélecteurs
- 21. Peut-on configurer gcc pour ne pas imprimer un chemin complet dans les messages d'avertissement/d'erreur?
- 22. CSS: barre de liquide avec le texte ne s'étendra pas
- 23. @ déclaration de font-face dans css ne fonctionne pas
- 24. Astuce css pied de page avec IE6 ne fonctionne pas
- 25. Puis-je implémenter un fil d'Ariane en utilisant dijit.layout.StackContainer dans Dojo? Y a-t-il de meilleurs moyens?
- 26. Styles de css de la page de maquette SharePoint ne s'affichent pas pour les autres utilisateurs
- 27. Imprimer les modifications DOM
- 28. Quels sont les meilleurs thèmes Silverlight?
- 29. Choisir les meilleurs scores d'une gamme
- 30. Quels sont les meilleurs projets OSS?
Je suis un peu confus quant à l'intention du code ci-dessus. Pourquoi le "div.must-have-background-for-print" est-il listé deux fois? Un des blocs a un positionnement "absolu" et l'autre bloc a un positionnement "relatif". De plus, "div.background" recherche une div avec la classe "background", n'est-ce pas? Donc, il y a deux divs? Un pour l'arrière-plan et un autre div pour le contenu qui se superpose à l'arrière-plan? –
@Steve Quezadas: Mise à jour de ma réponse avec une réponse. – Prestaul