Safari 1.3 以降 (4 については不明) はpage-break-inside をサポートしていません(試すか、こちらを参照してください: http://reference.sitepoint.com/css/page-break-inside )。Firefox 3 や IE7 もそうではありません (8 については知りません)。
実際には、この属性のサポートは非常にむらがあり、現時点ではまったく使用する意味がありません。訪問者の 10% でも、これをサポートできるブラウザーを持っていれば幸運です。
私が使用した解決策は、追加することでした
page-break-after:always
特定の div に追加するか、改行が必要な場所に「ページ ブレーカー」 div を追加します。これは非常に不器用です。なぜなら、それはあなたが望んでいることをまったく実行せず、コンテンツが印刷されたページの下部に到達しないためですが、残念ながらより良い解決策はありません (私が間違っていることを証明してください!)。
もう 1 つの方法は、余分な要素 ( display:none
) をすべて削除し、メイン コンテンツを 1 つのメイン列に流すスタイルシートを作成することです。基本的には、1 列のテキストのみのドキュメントに変換します。
最後に、プリンターのスタイルを設定するときはフロートと列を避けてください。IE (および FF) の動作がおかしくなる可能性があります。