J'utilise Twitter-Bootstrap et je dois pouvoir imprimer la page telle qu'elle apparaît sur le navigateur. Je suis capable d'imprimer très bien d'autres pages créées avec Twitter-Bootstrap, mais je n'arrive pas à imprimer ma page qui utilise uniquement Twitter-Bootstrap. Est-ce que je manque une étiquette quelque part?
Page officielle sur la tuberculose une fois imprimée:
Ma page une fois imprimée:
À quoi ressemble ma page:
printing
twitter-bootstrap
Jay Q.
la source
la source
Réponses:
Assurez-vous d'avoir une feuille de style attribuée pour l'impression.
Il peut s'agir d'une feuille de style distincte:
ou celui que vous partagez pour tous les appareils:
Ensuite, vous pouvez écrire vos styles pour les imprimantes dans les feuilles de style séparées ou dans celle partagée à l'aide de requêtes multimédias:
la source
media="screen"
, ce qui ne sera pas vu par une imprimante. Vous pouvez changer cela enmedia="all"
ou simplement supprimermedia
comme le suggère la réponse ci-dessus.Mise à jour de Bootstrap 3.2: (version actuelle)
La version actuelle stable de Bootstrap est 3.2.0 .
Avec la version 3.2 visible-print obsolète, vous devriez donc utiliser comme ceci:
Mise à jour de Bootstrap 3:
Les classes d'impression sont maintenant dans les documents: http://getbootstrap.com/css/#responsive-utilities-print
Version de Bootstrap 2.3.1:
Après avoir ajouté le fichier bootstrap.css dans votre HTML,
recherchez les parties que vous ne souhaitez pas imprimer et ajoutez la
hidden-print
classe dans les balises. Parce que le fichier css comprend ceci:la source
body
) invisible avec.hidden-print
, mais que je veux remplacer un élément spécifique à afficher?Remplacez chaque
col-md-
parcol-xs-
par exemple: remplacez tous
col-md-6
parcol-xs-6
.C'est ce qui a fonctionné pour moi pour me débarrasser de ce problème, vous pouvez voir ce que vous devez remplacer.
la source
div
habitude d'aller en dessous de la précédente. Cette réponse m'a donné un indice, j'ai ajoutécol-xs-*
avant chacuncol-md-*
et cela a résolu le problème. AVIS DE NON-RESPONSABILITÉ: Je n'ai pas testé l'ajout d'un conteneur car<div class="row"></div>
cela pourrait également avoir résolu le problème (cela semble évident).Il y a une section de
@media print
code dans le fichier css (Bootstrap 3.3.1 [UPDATE:] à 3.3.5), cela supprime pratiquement tout le style, donc vous obtenez des impressions assez fades même quand cela fonctionne.Pour l'instant, j'ai dû recourir à la suppression de la
@media print
section de bootstrap.css - ce dont je ne suis vraiment pas content, mais mes utilisateurs veulent des captures d'écran directes, donc cela devra faire pour le moment. Si quelqu'un sait comment le supprimer sans modifier les fichiers d'amorçage, je serais très intéressé.Voici le bloc de code `` offensant '', commence à la ligne 192:
la source
La meilleure option que j'ai trouvée était http://html2canvas.hertzen.com/
http://jsfiddle.net/nurbsurf/1235emen/
la source
Dans le cas où quelqu'un cherche une solution pour Bootstrap v2.XX ici. Je laisse la solution que j'utilisais. Ce n'est pas entièrement testé sur tous les navigateurs, mais cela pourrait être un bon début.
1) assurez-vous que l'attribut media de
bootstrap-responsive.css
estscreen
.2) créez un
print.css
et assurez-vous que son attribut médiaprint
3) à l'intérieur
print.css
, ajoutez la "largeur" de votre site web en html & body4.) reproduisez les classes de requêtes multimédias nécessaires
print.css
car elles étaient à l'intérieurbootstrap-responsive.css
et nous l'avons désactivé lors de l'impression.Voici la version complète de
print.css
:la source
2 choses pour info -
la source
Pour que la vue d'impression ressemble à une tablette ou à un bureau, incluez bootstrap en .less, pas en .css, puis vous pouvez écraser les classes réactives bootstrap à la fin du fichier bootstrap_variables, par exemple comme ceci:
Ne vous inquiétez pas de mettre ces variables à la fin du fichier. LESS prend en charge le chargement différé des variables afin qu'elles soient appliquées.
la source
Si vous souhaitez conserver les colonnes sur une impression A4 (environ 540 pixels), c'est une bonne idée
Vous pouvez l'utiliser comme ceci:
<div class="col-sm-4 col-print-A4-4">
la source