2015-02-25 3 views
1

Im борется с печатью карты из API карт Google на всей странице, но изображение просто обрезается и разделяется на две разные страницы.Page Break не работает

Я пробовал атрибут разрыва страницы, но он все еще делит печать.

Это мой CSS

body { 
    background: rgb(204,204,204); 
} 
page[size="A4"] { 
    background: white; 
    width: 21cm; 
    height: 29.7cm; 
    display: block; 
    margin: 0 auto; 
    margin-bottom: 0.5cm; 
    box-shadow: 0 0 0.5cm rgba(0,0,0,0.5); 

} 
@media print { 
    body, page[size="A4"] { 
    margin: 0; 
    box-shadow: 0; 
    page-break-after: avoid;  
    } 
    .go_btn{ 
display:none; 
} 

@page { 
    margin: 0; 

} 

} 

Это тест, который я пытался с. Любые идеи, что может быть неправильным?

Demo

+0

Вы пробовали применять атрибут разрыв страницы только на 'страницу [размер = "A4"]', а не 'body'? – sideroxylon

+0

@sideroxylon Эй. Да, это проблема с той же маржей :( – Dymond

+0

О, хорошо ... только другое предложение - это изменение 'page-break-after: avoid' to' page-break-inside: avoid' и, возможно, добавить 'page-break-after: всегда ', чтобы попытаться заставить разрыв страницы после элемента уровня блока (' page'). – sideroxylon

ответ

2

Добавьте эти атрибуты, и он будет работать безупречно. Высота ограничивает ее до одной страницы, и дисплей заставляет ее заполнять всю страницу.

display:inline-block; 
height: 100%; 

Пример в вашем CSS:

body { 
    background: rgb(204,204,204); 
} 
page[size="A4"] { 
    background: white; 
    width: 21cm; 
    height: 29.7cm; 
    display: block; 
    margin: 0 auto; 
    margin-bottom: 0.5cm; 
    box-shadow: 0 0 0.5cm rgba(0,0,0,0.5); 

} 
@media print { 
    body, page[size="A4"] { 
    display:inline-block; 
    height: 100%; 
    margin: 0; 
    box-shadow: 0; 
    page-break-after: avoid;  
    } 
    .go_btn{ 
display:none; 
} 

@page { 
margin: 0; 

} 

} 
+0

Спасибо! Эта работа как шарм :) – Dymond

Смежные вопросы