У вас есть несколько кудрявых проблем, но вот несколько простых вещей, которые по крайней мере помогут легче диагностировать и исправить их, даже если они сами не решают проблемы напрямую.
Ваша таблица стилей печати загружается до 'page.css' и множества других CSS-файлов, которые, похоже, приходят из используемой вами CMS. Все из которых имеют эффективный тип медиа «все». Любые стили, которые появляются в обоих местах, могут быть переопределены. Я вижу, вы сошли с ума с !important
в вашем файле print.css, что говорит о том, что вы, возможно, уже думали об этом или застряли с ним.
Что касается проблемы с размерами текста, я бы посмотрел на использование таблицы стилей «сброс» для печати, чтобы установить базовый размер шрифта для <body>
разумного размера точки (10 или 12pt). Точки имеют большой смысл для стилей, основанных на печати, и не полагаются на то, что браузер переназначает размер пикселя на точки на принтере.
Затем для всех ваших текстовых элементов, которым вы хотите придать другой размер, укажите умножающее значение в ems. Итак, вы можете иметь:
body {font-size:10pt;}
h1 {font-size:1.8em;}
h2 {font-size:1.4em;}
h3 {font-size:1.2em;}
/* etc. */
Что касается Firefox, я вспоминаю, что печать внутри форм обрабатывается по-разному, но я не могу найти, откуда у меня эта информация. Это может быть актуально, потому что вся ваша страница обернута в элемент <form>
(наверное, благодаря вашей CMS). В качестве теста попробуйте сохранить свою страницу в статическом HTML и удалить этот элемент формы - посмотрите, не получите ли вы другой результат при печати.
Удачи - этот материал для печати неприятен в лучшие времена - еще хуже, когда вы не контролируете HTML!