Erzwungener Seitenumbruch bei Druckausgabe nicht moeglich

  • Die Eingabe von

    <p style="page-break-inside:avoid">

    führt nicht zum gewünschten Seitenumbruch, obwohl dies in der Definition der CSS seit mindestens Version 2.0 enthalten ist.

    Kann hier jemand helfen?

    Gruß
    Bernhard Hadaschik

    Bhada

  • Etnweder drückst du sehr unklar aus, was dein Problem ist, oder du hast den Sinn von "page-break-inside:avoid" nicht verstanden.

    "page-break-inside:avoid" erzeugt keinen erzwungenen Seitenumbruch. Vielmehr sagt es, das innerhalb des Elements (bei dir Absatz) kein Seitenumbruch stattfinden darf, sondern nur davor oder danach. Und auch nur dann, wenn er notwendig ist.

    Um einen Seitenumbruch zu erzwingen, müßtest du page-break-before oder page-break-after in Kombination mit always, left oder right einsetzen.

  • Vielen Dank für die schnelle Antwort!
    Mit "page-break-inside:avoid" wollen wir ja genau das erreichen, nämlich innerhalb eines Absatzes (bei uns Überschrift und Ergebnis) keinen Seitenumbruch.
    Sinn ist es, den Textzusammenhalt der einzelnen TOPs zu gewährleisten und nur dann einen Umbruch durchzuführen, wenn z.B. die Überschrift und der zugehörige Absatz nicht auf getrennten Seiten gedruckt werden.

    Die Möglichkeit page-break-before oder page-break-after einzusetzen hat einen Haken. Da wir nicht wissen welche Schriftgröße der Anwender auf seinem Browser eingestellt hat, können wir auch nicht explizit sagen, wo der Seitenumbruch stattfinden soll. Daher kamen wir auf die Idee "page-break-inside:avoid" zu verwenden. Klappt aber nicht.

    Besten Dank trotzdem.

    Bhada

  • Wie sieht denn ein Beispielcode aus? Da du als Beispiel

    Code
    <p style="page-break-inside:avoid">

    genommen hast, aber Überschrift und Absatz zusammenhalten willst,vermute ich entweder:

    Code
    <p style="page-break-inside:avoid"> 
    <h1>Überschrift</h1>
    text
    </p>

    oder

    Code
    <h1 style="page-break-inside:avoid"> Überschrift</h1>
    <p style="page-break-inside:avoid"> text</p>

    Beides kann nicht funktionieren. Probiert mal

    Code
    <div style="page-break-inside:avoid"> 
    <h1>Überschrift</h1>
    <p>text</p>
    </div>