2012-02-10 14 views
3

私は現在かなりの問題を抱えています。 Firefox(FF10でのテスト)で唯一気になるのは、このバグはChrome 17や他のIEでは起こりません。2つのdiv要素の間でページ区切りを防止します

ここが問題です。私はこのようなページアーキテクチャを持っています

<div id="container"> 
    <div id="a"> 
     <img src="foo/bar.png" /> 
    </div> 
    <div id="b"> 
     <div id="c"> 
      <!--short content--> 
     </div> 
     <div id="d"> 
      <!--long content--> 
     </div> 
    </div> 
</div> 

編集:いくつかはCSSの一部を求めました。私のコードはここでは単純化されていますが、ここでは一致させるCSSの簡略版です。ボーナスとして

#container { 
    margin: 0 auto; 
    position: relative; 
    width: 1000px; 
} 

#a{ 
    height: 156px; 
    margin: 0 auto; 
    position: relative; 
    text-align: center; 
    top: 2px; 
    width: 918px; 
} 

#b { 
    background-color: #FFFFFF; 
    font-size: 12px; 
    margin: 0 auto; 
    text-align: left; 
    width: 958px; 
} 

#c{ 
    background: url("images/top_content.gif") no-repeat scroll left top #FFFFFF; 
    height: 50px; 
    margin: 0 auto; 
    width: 100%; 
} 

#d{ 
    padding: 40px 0px; 
} 

、#Dのdiv要素の計算高さは874px(放火魔とcaculated)

で、コンテンツはページ内に収まるように十分に短いときと指摘したコンテンツのセクションをasloべき(#d)はページ区切りを持たず、最初のページにとどまります。クロムでは、たとえば、私は#Dの内容は2ページ目にブリードアウトすることを見ることができたときに、

enter image description here

にのみ発生します。

ここに質問があります。 #cと#d divの間で改行を防止するにはどうすればよいですか?

+0

コンテナ、a、b、c要素のCSSを投稿して質問を更新できますか?とにかくコンテナdivに閉じている '>'がありません – fcalderan

+0

私はちょうど質問にCSSの良い部分を追加しました。 – Fredy31

+0

これは印刷中、またはページを通常表示しているときにのみ起こりますか? – j08691

答えて

3

印刷時に改ページを防止する方法を教えてください。

#c{ 
    page-break-after: avoid; 
} 

#d { 
    page-break-before: avoid; 
} 
+0

それは私にいくつかの希望を与えました。私はそれを試して、動作しませんでした。注:Firefox、Chrome、Safariでは、 "avoid"、 "left"、または "right"というプロパティ値はサポートされていません。少なくとも、それは知っているのは良いことです。後でラインの下で便利に来ることができます。 – Fredy31

+0

うーん、あまりにも悪いです。 #d内に小さなサブディビジョンがあるとどうなりますか?それは#dを上回っていますか? –

+0

#d divにはすでにたくさんの細分化があります。私はちょうどプロジェクトにあまりにも多くを明らかにせずに質問を投稿するためのコードを単純化した。 #d divには、他の2つのdivがあります.1つは段落を含み、もう1つはスライダーです。 – Fredy31

1

私は同じ問題を抱えてここに来ました。そして私は解決策を見つけました!

私の状況

  • 非常に長い前
  • を事前に私が含まれている見出し
  • その後、別のdivとして機能div要素を持っているが、複数のページを横切って延び

<div>Heading</div> 
<div> 
    <pre>Very long pre.</pre> 
</div> 

問題:本部は、2ページのページ1

  • 事前開始に表示されます

    • マイ見出し - 「見出し」とコンテンツの間にそれほど大きなギャップ。

    ソリューション:

    は最後に、私は私の前のスタイルdisplay: inlineを作ってみました。タダ!今私の見出し部門と一緒に1ページ目のプレスタートの始まり!

    おそらく、あなたはこれをより良く制御するために要素の表示を混乱させることができます。誰もがここで再び遭遇するのを助けることを願っています!

  • 関連する問題