L'orientation de page pour l'impression HTML
Code:
J'essaie de faire les suivantes simple page HTML de travail:
<html>
<head>
<style type="text/css">
@media print
{
@page port { size: portrait; }
.portrait { page: port; }
@page land { size: landscape; }
.landscape { page: land; }
.break { page-break-before: always; }
}
</style>
</head>
<body>
<div class="landscape">
<p>This is a landscape page.</p>
</div>
<div class="portrait break">
<p>This is a portrait page.</p>
</div>
</body>
</html>
Question:
Je veux imprimer le premier div du contenu sur la première page, avec une orientation paysage, et la seconde avec le mode portrait. Cependant, tous les navigateurs (Chrome, Opera, Safari, IE10) imprimer le portrait de deux pages. Ai-je raté quelque chose ou de faire aucun des navigateurs prennent en charge ce type de fonctionnalité encore? Dans ce dernier cas, est-il une alternative pour atteindre le résultat?
Vous devez vous connecter pour publier un commentaire.
Un rapide et sale hack serait pour faire pivoter l'élément div qui est censé être dans le paysage de 90 degrés à l'aide de CSS3 ou des filtres. La suivante devrait fonctionner:
Il n'existe actuellement aucun moyen facile de faire cela de toute autre manière, comme le
size
directive CSS n'est mise en œuvre par un navigateur (Opera), mais est néanmoins partie des projets actuels ( Est - @Page { size:landscape} obsolète? pour l'autodérision, http://www.w3.org/TR/css3-page/#page-size pour la spec).La prochaine moins cher hack est ce que j'ai mentionné ci-dessus: posez votre HTML sur un portrait...et tourner de 90 degrés à l'aide de CSS3.
position:absolute
de décalage de 40% en plus pour un rot.La
size
propriété n'est pas utilisée (plus), je ne voudrais pas compter sur cela. La manière la plus pragmatique serait de générer des PDF sur le serveur avant l'impression.La rotation de la solution fournie par Seéastien également de travailler, mais uniquement dans les navigateurs qui le supportent.
filter
). De Plus, si il est d'utiliser les requêtes des médias, il n'est pas en IE5.5.