28173 sujets

CSS et mise en forme, CSS3

Salut,

J'ai regardé un peu les propriétés de saut de page mais je ne comprends rien.

Comment faire pour qu'il y ai un saut de page en fin de page d'impression ?

Parce que sinon ca imprime n'importe comment en fin de page avec des lignes rognées


Merci

Yanic
Bonsoir,

Est-ce que ceci pourrait répondre à ta question ?

http://openweb.eu.org/articles/css_impression/ a écrit :

Sauts de page et lignes orphelines
pour empêcher qu'un encadré soit imprimé « à cheval » sur deux pages, utilisez la propriété : page-break-inside: avoid; ;
pour forcer un saut de page avant un élément, utilisez la propriété : page-break-before: always; ;
pour forcer un saut de page après un élément, utilisez la propriété : page-break-after: always; ;
note : les sauts de pages peuvent coûter cher en papier, en sont donc à utiliser avec modération ;
pour en savoir plus sur les sauts de page.


A défaut, pourrais-tu nous indiquer ce qui cloche ? (Et nous donner des exemple ! On adoreeeee cela Smiley lol )

G.
Salut,


J'ai déja vu ce lien.

Je ne comprends pas comment l'appliquer et ou.

J'ai un bloc qui est positionné en absolu avec des h et p dans ce bloc

Ou mettre ces sauts de page ?

Bien sur je vourdrais que le saut de page se fasse automatiquement et que je doive pas intégrer chaque fois une class pour éffectuer ce saut de page manuellement


Yanic
Bonsoir,

Ça se met dans une feuille de style dédiée à l'impression. (Qui va par exemple cacher tous éléments non utiles à l'impression : une bannière, un menu, un bas de page, etc.)

Dans le balisage (le header des pages où cette feuille de style sera appelée), on aurait :
<link href="URL de la feuille de style" rel="alternate stylesheet"
 type="text/css" media="[#orange]print[/#]" />

Modifié par Smiley neko (24 Apr 2006 - 19:44)
Oui ca je sais, j'ai déja caché tout ce qui faut.

Mais lors de l'impression j'ai des lignes qui sont sur deux pages, donc on ne voit pas ce qui est mis


Je voudrais une solution à ce problème

Yanic
yanic a écrit :
Mais lors de l'impression j'ai des lignes qui sont sur deux pages, donc on ne voit pas ce qui est mis

Une ligne sur deux pages ? Voilà qui est singulier.

Si c'est un paragraphe de deux lignes qui est divisé entre deux pages, il faut appliquer un page-break-inside: avoid; sur ce paragraphe. Note : la méthode "classique" pour éviter d'avoir une ligne "veuve" en fin de page et une ligne "orpheline" en début de nouvelle page se fait, dans les traitements de texte et logiciels de PAO, via la gestion des veuves et orphelines. Ça existe aussi en CSS, mais ça n'est pas implémenté.

Si c'est certains blocs, par exemple ayant une bordure, qui ne doivent pas être coupés, il faut encore utiliser ce page-break-inside: avoid; sur le bloc lui-même (pas son contenu). Par contre je me souviens avoir tenté de l'utiliser, mais que ça ne marchait pas sous Firefox. J'avais peut-être fait une erreur…
Mais ca ne se fait pas automatiquement ?


Je dois chaque fois regarder la page d'impression et voir ou doit se faire le saut de page ?


Y'a pas plus simple ?


Yanic
yanic a écrit :
Mais ca ne se fait pas automatiquement ?
[…]
Y'a pas plus simple ?

Sans gestion des veuves et orphelines, non.
Les navigateurs restent limités pour l'impression.
Si tu as un texte composé essentiellement de paragraphes relativement courts (5 lignes et moins), tu peux empêcher le break à la ligne sur tous les paragraphes… ce qui bien sûr ne te donnera jamais deux pages avec la même écart entre le bord et la fin du texte.
Salut,

Si ton projet c'est d'avoir des pages comme sorties d'un traitement de texte, renonce tout de suite. Les navigateurs n'ont implémenté que le minimum syndical de la CSS Print.

Il traîne un topic sur l'utilé du PDF, c'est peut être le moment d'y penser.

Fais une recherche, il comporte beaucoup d'avis pertinents.
mpop a écrit :

Sans gestion des veuves et orphelines, non.
Les navigateurs restent limités pour l'impression.
Si tu as un texte composé essentiellement de paragraphes relativement courts (5 lignes et moins), tu peux empêcher le break à la ligne sur tous les paragraphes… ce qui bien sûr ne te donnera jamais deux pages avec la même écart entre le bord et la fin du texte.



Et tu fais ca comment ?
papyjo a écrit :
Salut,

Si ton projet c'est d'avoir des pages comme sorties d'un traitement de texte, renonce tout de suite. Les navigateurs n'ont implémenté que le minimum syndical de la CSS Print.

Il traîne un topic sur l'utilé du PDF, c'est peut être le moment d'y penser.

Fais une recherche, il comporte beaucoup d'avis pertinents.


Ok merci je pense mettre un fichier pdf aussi, mais il n'y a que 77% des gens qui l'ont.....


Yanic
yanic a écrit :
Et tu fais ca comment ?

Le veuves et orphelines ou bien empêcher la coupe au milieu d'un paragraphe ?
– Les veuves et orphelines : impossible, pas implémenté par les navigateurs ;
– empêcher la coupe : le code correspondant est dans les messages un peu plus haut. Je ne connais pas sa compatibilité avec les différents navigateurs.

EDIT : après un petit test rapide, il semblerait que les propriétés orphans, widows et page-break-inside ne soient pas implémentées par Firefox et Konqueror. Opera donnait un rendu correct, mais il peut s'agir d'un hasard. Enfin je n'ai pas testé avec IE.
Modifié par mpop (25 Apr 2006 - 22:50)