2012-02-10 3 views
3

지금 당장 문제가 있습니다. 파이어 폭스 (FF10으로 테스트)에서만 괴롭 히며,이 버그는 Chrome 17이나 모든 IE에서 발생하지 않습니다.두 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> 

EDIT처럼 보이는이 : 일부는 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의 계산 된 높이 (개똥 벌레와 caculated) 874px입니다 내용이 콘텐츠 섹션 페이지에 들어갈 정도로 짧은 경우 지적 끄트머리해야

(#d)는 페이지 나누기가 없으며 첫 번째 페이지에 머물러 있습니다. 크롬에서 예를 들어, 내가 #D의 내용이 두 번째 페이지에 과다 출혈 것을 볼 수있을 때,

enter image description here

에만 발생합니다.

그래서 여기에 질문이 있습니다. #c div와 #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

그게 나에게 희망을 주었다. 나는 그것을 시도, 작동하지 않았다. W3Schools에 따르면 '참고 : Firefox, Chrome 및 Safari는'avoid ','left '또는'right '속성 값을 지원하지 않습니다. 음, 적어도 알고있는 것이 좋다. 나중에 줄 서기 편리합니다. – Fredy31

+0

흠, 너무 나빠요. #d 안에 더 작은 서브 디비전이 있다면 어떻게 될까요? 그게 #d 휴식? –

+0

#d div에는 이미 여러 개의 하위 섹션이 있습니다. 나는 프로젝트에 너무 많이 드러내지 않고 질문을 게시하기위한 코드를 단순화했다. #d div에는 다른 2 개의 div가 있으며 하나는 단락이 있고 다른 하나는 슬라이더입니다. – Fredy31

1

같은 문제가 있습니다. 그리고 해결책을 찾았습니다!

내 상황 :

  • A는 매우 긴 사전
  • 를 사전에 내가 포함 된 제목
  • 다음 다른 DIV 역할을하는 사업부가 여러 페이지에 걸쳐 확장

:

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

문제점 : 사업부는 2 페이지 페이지 1

  • 사전 시작에 나타납니다

    • 내 제목 -은 "제목"과 내용 사이 너무 거대한 격차.

    솔루션 :

    마지막으로, 내 사전 스타일 display: inline을 시도했다. 타다! 이제 내 머리글 div와 함께 1 페이지에있는 사전 시작의 시작!

    아마도이 기능을 제어하기 위해 요소 표시를 엉망으로 만들 수 있습니다. 누구든지 다시 여기에 걸려 넘어지기를 바랍니다.

  • 관련 문제