J'essaie de créer une page HTML jolie-impression. Je dois forcer une pause de page, entre constructions de niveau supérieur, j'ai donc ajouté une classe CSS à l'élément de niveau supérieur de chaque construction et définissez une pause-page avant: toujours dans le CSS pour cette classe. E.G.:
<body> <div class="prettyprint"> <div class='toplevel'> ... </div> <div class='toplevel'> ... </div> </div> </body> .prettyprint .toplevel { page-break-before:always; }
"PROBLÈME MMY Est-ce que je reçois une page vierge, avant le premier élément de niveau supérieur. Ce qui est parfaitement logique, compte tenu de ce qu'auparavant: est toujours censé faire. Mais je ne le veux pas. P>
Ainsi, une option est de ne pas inclure la classe "Toplevel" dans le premier élément ou pour fournir une nouvelle classe "FirstToPlevelvel" qui ne règle pas la pause. -Avant: toujours et réglez-le pour le premier élément de niveau supérieur, puis utilisez "Toplevel" pour tous les autres. Je pourrais le faire, assez facilement, mais il semble que cela enfreint la séparation des préoccupations. P>
Alors je me demandais s'il y avait un moyen de le faire dans CSS? Pour définir une règle qui s'appliquerait uniquement au premier enfant «Toplevel» de «Prettyprint»? P>
Des idées seraient appréciées. P> P>
3 Réponses :
:first-child might work but pretty sure there are issues with IE6, see: http://www.quirksmode.org/css/firstchild.htmledit: doesn't work in IE6, and for newer versions of IE doctype must be used for it to work.
+1 la meilleure façon dont je puisse penser. Vous pouvez utiliser JQuery pour ajouter la fonctionnalité pour IE6.
Ie casse des impressions même dans la version actuelle [a fait pour moi au moins], je ne me soucierais pas beaucoup de IE6: P
<style> .prettyprint { page-break-before: always; margin-top:0; } .prettyprint :first-of-type { page-break-before: avoid; }
une explication serait bénéfique
Voir une bonne description à la page Pause à: https: // CSS- astuces.com/almanac/properties/p/pageobrefre/
Les opèrent bien sur chrome v56. Créez une règle qui implémente p> pavé-break-avant: toujours code> mais supprimez cette règle lorsqu'il est appliqué au premier type. P>
<div>
<div class="print-per-page">Page 1</div>
<div class="print-per-page">Page 2</div>
<div class="print-per-page">Page 3</div>
</div>
: premier de type code> travaillé dans wkhtmltopdf lorsque
: premier enfant code> n'a pas. Merci pour ça!