IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

Comment utiliser page-break-before ou after


Sujet :

CSS

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 31
    Points : 19
    Points
    19
    Par défaut Comment utiliser page-break-before ou after
    bonjour
    j'essaie vainement d'utiliser <div style="page-break-before:always;"></div>
    sans succès
    je n'arrive pas à comprendre où il faut insérer ce genre de chose

    je fabrique une série de feuilles destinées à être imprimées.
    en html évidemment ça ne fait qu'une page
    quand j'imprime je veux que page-break me provoque des sauts de page
    chaque future page est de longueur adequate
    il suffit d'arriver à insérer quelque-chose qui provoque un saut de page pour que ça soit parfait.
    mais où
    j'ai beaucoup essayé après avoir consulté les docs HTML mais je n'arrive à rien.
    quelqu'un peut-il m'éclairer ?
    merci

    ci-joint le php (voir à la fin de ce fichier , la boucle de génération)
    Fichiers attachés Fichiers attachés

  2. #2
    Membre habitué Avatar de eckerdecker
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 134
    Points : 185
    Points
    185
    Par défaut
    J'ai été confronté à ce genre de problème, cumulé en plus à un refus de la part de firefox d'imprimer plus d'une page. Voici les conseils que je peux te donner pour éventuellement résoudre le tien :

    1/ placer tes instructions page-break dans une feuille css dédiée au print
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link media="print" type="text/css" rel="stylesheet" href="print.css" />
    2/ tes instructions page-break doivent être sur des éléments de type bloc non-vide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div class="pagebreak">&nbsp;</div>
    3/ tu dois éviter tout ce qui modifie le flux de ton contenu : pas de position:relative/absolute/fixed, pas de float:left/right, tous les élements doivent être en overflow:visible. Moi j'avais dû ajouter ça dans ma feuille css dédiée au print :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    html, body, table, div {
    	overflow:visible !important;
    	float:none !important;
    }
    Ce qui ne suffira pas forcément si tu as des éléments en position:absolute par exemple, ou si tu as utilisées d'autres balises sur lesquels tu aurais des overflow ou des float.

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 31
    Points : 19
    Points
    19
    Par défaut
    merci mais je ne comprends pas où on doit indiquer page-break-before
    ou after

  4. #4
    Membre habitué Avatar de eckerdecker
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 134
    Points : 185
    Points
    185
    Par défaut
    2/ tes instructions page-break doivent être sur des éléments de type bloc non-vide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div class="pagebreak">&nbsp;</div>
    Dans ta feuille css dédiée au print (que j'ai nommée print.css) tu auras
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    .pagebreak {
       page-break-after:always;
    }

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 31
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par eckerdecker Voir le message
    Dans ta feuille css dédiée au print (que j'ai nommée print.css) tu auras
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    .pagebreak {
       page-break-after:always;
    }

    comme j'utilise du HTML généré par Publisher je ne peux pas changer grand-chose (absolute etc)
    je vois bien que c'est une question de respect des standards.
    d'abord l'explorateur : en fait avec Google Chrome le résultat est presque bon sauf de temps en temps pour la dernière page qui peut être bizarre.
    en plus de Chrome avec XPS plutôt que PDF on a aussi de meilleurs résultats : il y a juste une page vide en trop à la fin.
    merci quand même

Discussions similaires

  1. Faire fonctionner page-break-before
    Par Walterbelo dans le forum Mise en page CSS
    Réponses: 0
    Dernier message: 20/02/2010, 16h32
  2. Comment utiliser @page:first
    Par Enthau dans le forum Mise en page CSS
    Réponses: 0
    Dernier message: 20/01/2010, 11h44
  3. Utilisation Page break
    Par ubititi dans le forum BIRT
    Réponses: 5
    Dernier message: 08/07/2009, 15h40
  4. bordure dans table avec page-break-before
    Par SpaceFrog dans le forum Mise en page CSS
    Réponses: 16
    Dernier message: 23/04/2008, 17h51
  5. Problème firefox et page-break-before
    Par Magicdemon dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 16/05/2007, 16h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo