J'essaie de créer une jolie page HTML. J'ai besoin de forcer un saut de page, entre les constructions de niveau supérieur, donc j'ai ajouté une classe CSS à l'élément de premier niveau de chaque construction, et définissez page-break-before: toujours dans le CSS pour cette classe. E.g .:CSS: page-break-avant, toujours, sauf la première fois?
<body>
<div class="prettyprint">
<div class='toplevel'>
...
</div>
<div class='toplevel'>
...
</div>
</div>
</body>
.prettyprint .toplevel { page-break-before:always; }
Mon problème est que j'obtiens une page vierge, avant le premier élément de premier niveau. Ce qui est parfaitement logique, compte tenu de ce qui précède page: toujours est censé faire. Mais je ne le veux pas. Donc, une option est de ne pas inclure la classe "toplevel" dans le premier élément, ou de fournir une nouvelle classe "firsttoplevel" qui ne définit pas page-break-before: toujours, et définissez-la pour la première élément de haut niveau, puis utilisez "toplevel" pour tous les autres. Je pourrais le faire, assez facilement, mais il semble que cela viole la séparation des préoccupations.
Alors je me demandais s'il y avait un moyen de le faire en CSS? Pour définir une règle qui s'appliquerait uniquement au premier enfant "toplevel" de "prettyprint"?
Toutes les idées seraient appréciées.
+1 la meilleure façon que je peux penser. Vous pouvez utiliser jQuery pour ajouter la fonctionnalité pour IE6. –
IE casse quelques tirages même dans la version actuelle [fait pour moi au moins], je ne ferais pas grand cas de IE6: P – naugtur
Vous êtes un homme smrt. – Pat