현재 인쇄 중입니다. 나는 그것이 블록 레벨 요소의 변수 번호를 가지고 동적 페이지가 있습니다. 일부는 1 행일 수 있고, 100 행 이상일 수도 있습니다.페이지 넘김을 위해 다음 작업을 수행하십시오. 회피
<div class='myclass'><span id="id1">1</span>text 1 line....</span></div>
<div class='myclass'><span id="id2">2</span>text 10 lines....</span></div>
<div class='myclass'><span id="id3">3</span>text 3 lines....</span></div>
<div class='myclass'><span id="id4">4</span>text 100+ lines....</span></div>
...
나는 페이지 나누기를 안다. 그것이 구현 될 때 (엄격한 html 모드에서만 Opera, Chrome 및 IE7 +에서 지원됨) 블록 레벨 요소가 2 페이지를 감싸는 것을 방지한다고 가정합니다. 이 CSS 태그는 여러 브라우저에서 지원되지 않기 때문에 아직 해결 방법이 있는지 궁금합니다.
jquery, 렌더링 렌더링을 사용하여 페이지 당 각 요소를 측정하고 높이를 더하고 마지막 요소가 페이지 높이보다 더해지면 페이지 나누기 기능을 추가했습니다. before : 항상 그 요소에 대해,하지만 그것은 특정 페이지 크기를 가정 할 때만 작동합니다. 그리고 그것은 결코 좋은 가정이 아닙니다.
sudo code only
document.ready(function(){
var pagesize = 100;
var currentheight;
$('.myclass').each(function(){
if (currentheight + this.getHeight() > pagesize || this.getHeight > pagesize) {
this.css('page-break-before', 'always');
currentheight = this.getHeight() % pagesize;
}
});
});
그리고 난 직후/페이지 나누기-전에 추가하지 않으 : 한 페이지에 1 라이너를 가지고 이해가되지 않기 때문에 항상 모든 요소.
해결책을 찾았습니까? –
아니요. JS를 사용하여 수동으로 페이지 나누기를 삽입하는 방식으로 페이지 서식을 지정합니다. CSS는 적어도 브라우저 전체에서 일관되게 페이지 브레이크를 정상적으로 포맷하는 좋은 방법이 없습니다. – Churk