#wordpress #css #media-queries
#wordpress #css #медиа-запросы
Вопрос:
У меня есть огромный текстовый блок на страницах, которые нужно распечатать, и я хочу добавить верхнее и нижнее поля, чтобы текст не был так близко к краю печатной страницы. Поскольку эти текстовые блоки не могут быть разбиты на теги, потому что они агрегируются с помощью сканера rss-каналов, я попытался использовать @page в css, но пока безуспешно. Я использую Chrome и предварительный просмотр принтера. Я использую WordPress, если это имеет значение.
Вот изображение того, как это выглядит в формате PDF. Печатный текстовый блок
Я попытался поместить его в @media screen
или @media print
, добавив !important
, и я уже час ищу в Интернете…
Я добавил этот CSS (и попробовал другие варианты) в свой файл CSS, но он не применяется. Все остальные стили печати @media работают.
@page {
margin-top: 2cm;
}
Любые указатели будут оценены, поэтому я могу добавить поля сверху и снизу к печатным страницам.
Ответ №1:
Адресация печатных элементов обычно выполняется с помощью @media print
, как вы уже писали. Но, кроме того, вам нужен селектор внутри этого медиа-запроса. Так что , если эти текстовые блоки имеют , например, класс .my_class
, CSS будет
@media print {
.my_class {
margin-top: 2cm;
}
}
Если текстовые блоки не имеют никакого класса, рассмотрите возможность применения к ним класса в HTML или в скрипте, который их генерирует.
Добавление после комментария:
Вы пытались совместить @media print
и @page
? Вот так (я обычно использую его таким образом, и это работает для меня):
@media print {
@page {
margin-top: 2cm;
}
}
Комментарии:
1. Текстовые блоки находятся внутри тегов с классом, но они часто имеют длину 2 страницы, поэтому внутри текстовых блоков происходят разрывы страниц, и я не могу вставить в них теги.
2. пожалуйста, обратите внимание на мое дополнение