Я пытаюсь заставить Google Chrome делать разрывы страниц.
Мне сказали через кучу веб-сайтов, которые page-break-after: always;
действительны в Chrome, но я не могу заставить его работать даже с очень простым примером. есть ли способ заставить разрыв страницы при печати в хроме?
css
printing
google-chrome
Майк Валстар
источник
источник
Ответы:
Я успешно использовал следующий подход во всех основных браузерах, включая Chrome:
Это упрощенный пример. В реальном коде каждый div страницы содержит намного больше элементов.
источник
position: relative
.break-after
иbreak-before
применимо только кblock-level elements, table row groups, table rows (but see prose)
: drafts.csswg.org/css-break-3/#break-between - это означает отсутствие поплавков или каких-либо хитроумных трюков с позиционированием.На самом деле в ответе, выбранном как принятый (от Фила Росса), отсутствует одна деталь ...
он ДЕЙСТВИТЕЛЬНО работает в Chrome, и решение действительно глупое !!
И родительский элемент, и элемент, на котором вы хотите управлять разрывом страниц, должны быть объявлены как:
проверьте эту скрипку: http://jsfiddle.net/petersphilo/QCvA5/5/show/
Это верно для:
Однако управление внутренним разрывом страницы в Safari не работает (по крайней мере, в 5.1.7).
надеюсь, это поможет!!!
PS: Вопрос ниже вызвал тот факт, что последние версии Chrome больше не соблюдают это, даже с position: relative; обмануть. Однако они, кажется, уважают:
см. эту скрипку: http://jsfiddle.net/petersphilo/QCvA5/23/show
так что я думаю, мы должны добавить это сейчас ...
Надеюсь это поможет!
источник
page-break-inside
. Любая помощь?<h7 class="page-breaker" style="display: block;position: relative;page-break-before:always">Grade <?php echo $grade;?></h7>
Я просто хотел отметить здесь, что Chrome также игнорирует настройки page-break- * css в плавающих div.
Я подозреваю, что где-то в спецификации css есть обоснование для этого, но я подумал, что это может когда-нибудь помочь кому-то ;-)
Еще одно примечание: IE7 не может подтвердить настройки разрыва страницы без явной высоты предыдущего элемента блока:
http://social.msdn.microsoft.com/forums/en-US/iewebdevelopment/thread/fe523ec6-2f01-41df-a31d-9ba93f21787b/
источник
У меня была проблема, похожая на эту, но в конце концов я нашел решение. У меня было переполнение-x: hidden; применяется к тегу <html>, поэтому, что бы я ни делал ниже в DOM, он никогда не допускал разрывов страниц. Вернувшись к overflow-x: visible; он работал нормально.
Надеюсь, это кому-то поможет.
источник
* { overflow-x: visible }
.У меня сама эта проблема - мои разрывы страниц работают в каждом браузере, кроме Chrome, - и я смог изолировать ее до элемента разрыва страницы, находящегося внутри ячейки таблицы. (Старые, унаследованные шаблоны в CMS.)
Очевидно, Chrome не поддерживает свойства page-break-before или page-break-after внутри ячеек таблицы, поэтому эта модифицированная версия примера Фила помещает второй и третий заголовки на одну страницу:
Реализация Chrome (сомнительно) разрешена с учетом спецификации CSS - вы можете увидеть больше здесь: http://www.google.com/support/forum/p/Chrome/thread?tid=32f9d9629d6f6789&hl=en
источник
Остерегайтесь CSS:
display:inline-block
при печати.Ни одно свойство CCS для перехода на следующую страницу не сработало бы для меня в Chrome и Firefox, если бы моя таблица находилась внутри div со стилем
display:inline-block
Например, не работает следующее:
Но следующие работы:
источник
display: flex
Я раньше сталкивался с этой проблемой в chrome, и причиной этого было то, что для div было установлено значение min-height. Решением было сбросить минимальную высоту при печати следующим образом:
источник
Обновление 2016:
Ну, у меня возникла эта проблема, когда у меня
на моем div.
После того, как я сделал
все стало просто отлично и идеально
источник
Если вы используете Chrome с Bootstrap Css, классы, которые управляют компоновкой сетки, например col-xs-12 и т.д., используют «float: left», который, как указывали другие, разрушает разрывы страниц. Удалите их со страницы для печати. У меня это сработало. (В версии Chrome = 49.0.2623.87)
источник
Есть эта проблема. Проходит столько времени ... Без боковых полей страницы это нормально, но когда поля появляются, страница и «пространство разрыва страницы» будут масштабироваться. Итак, с нормальным полем в документе оно было показано неверно. Я исправляю это с помощью набора
и использовать
Используйте его в первой строке.
источник
Насколько мне известно, единственный способ получить правильные разрывы страниц в таблицах с помощью Google Chrome - это передать элементу
<tr>
свойство display: inline-table (или display: inline-block, но он лучше подходит для других случаев, которые не являются таблицами. ). Также следует использовать свойства «разрыв страницы после: всегда; разрыв страницы внутри: избегать;» как написано @Phil Rossисточник
У меня это сработало, когда я использовал отступы, например:
источник