Spec-Zone.ru › CSS

print-color-adjust

Ограниченная доступность

Эта функция не относится к Baseline, так как она не работает во всех наиболее распространённых браузерах.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Свойство print-color-adjust CSS задаёт, что может делать браузер для оптимизации отображения элемента на выходном устройстве. По умолчанию браузеру разрешается вносить любые необходимые и целесообразные изменения в внешний вид элемента, исходя из типа и возможностей выходного устройства.

Синтаксис

print-color-adjust: economy;
print-color-adjust: exact;

/* Global values */
print-color-adjust: inherit;
print-color-adjust: initial;
print-color-adjust: revert;
print-color-adjust: revert-layer;
print-color-adjust: unset;

Значение свойства print-color-adjust должно быть одним из следующих ключевых слов.

Значения

economy

Браузеру разрешается вносить изменения во внешний вид элемента, исходя из того, что целесообразно и необходимо для оптимизации вывода на устройстве. Например, при печати браузер может отказаться от отображения фоновых изображений и изменить цвета текста, чтобы обеспечить оптимальный контраст для чтения на белой бумаге. Это значение по умолчанию.

exact

Содержимое элемента создано с учётом цветов, изображений и стилей, и изменение браузером может ухудшить его отображение. Вид содержимого не должен изменяться без запроса пользователя. Например, страница может содержать список информации с чередующимися белым и светло-серым цветом фона строк. Удаление фона уменьшит читаемость содержимого.

Примечания по применению

Существует ряд причин, по которым браузер может отклониться от указанного вида, например:

  • Содержимое использует цвета текста и фона, которые будут слишком похожи для читаемости на выходном устройстве.
  • Если выходное устройство — принтер, для экономии чернил могут быть удалены тёмные или плотные фоновые изображения.
  • При печати страницы браузер может заменить светлый текст на тёмном фоне тёмным текстом на белом фоне.

Любые возможности, предоставляемые браузером для управления использованием цвета и изображений, будут иметь приоритет над значением print-color-adjust. Другими словами, нет гарантии, что print-color-adjust что-либо сделает. Пользователь может переопределить это поведение, и каждый браузер сам решает, как обрабатывать print-color-adjust в каждой конкретной ситуации.

Формальное определение

Начальное значение economy
Применяется к всем элементам
Наследуется да
Вычисленное значение как указано
Тип анимации дискретный

Формальный синтаксис

print-color-adjust = 
economy |
exact

Примеры

Сохранение низкого контраста

В этом примере показана область с background-image и полупрозрачной функцией linear-gradient() поверх чёрного фона, создающая тёмно-синий градиент позади текста среднего красного цвета. По какой-либо причине, этот вид желателен во всех средах рендеринга, включая бумагу, поэтому мы также используем print-color-adjust: exact чтобы сообщить браузеру не вносить изменений в цвет или стиль области при её рендеринге.

CSS

.my-box {
  background-color: black;
  background-image: linear-gradient(rgb(0 0 180 / 50%), rgb(70 140 220 / 50%));
  color: #900;
  width: 15rem;
  height: 6rem;
  text-align: center;
  font:
    24px "Helvetica",
    sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
  print-color-adjust: exact;
}

HTML

<div class="my-box">
  <p>Need more contrast!</p>
</div>

Результат

Спецификации

Спецификация
CSS Цветные настройки Модуля уровня 1
# propdef-print-color-adjust

Совместимость с браузерами

Рабочий стол Мобильный
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
print-color-adjust
17["Chrome не печатает фоны элемента <body>. Если это свойство установлено в exact для элемента <body>, оно будет применено только к его потомкам.", "До версии 26, если изображения фона обрезаются (например, при использовании background-image спрайтов) и -webkit-print-color-adjust установлено в exact, тогда фоны будут отображаться искажённо при печати. Тёплофоновые фоны и изображения фонов, которые не обрезаются (т.е., фоны, которые уже и короче элемента, к которому они применяются), печатаются корректно. См. баг 40219905."]
79Edge не печатает фоны элемента <body>. Если это свойство установлено в exact для элемента <body>, оно будет применено только к его потомкам.
9748
15Opera не печатает фоны элемента <body>. Если это свойство установлено в exact для элемента <body>, оно будет применено только к его потомкам.
15.4
6Safari не печатает фоны элемента <body>. Если это свойство установлено в exact для элемента <body>, оно будет применено только к его потомкам.
18["Chrome не печатает фоны элемента <body>. Если это свойство установлено в exact для элемента <body>, оно будет применено только к его потомкам.", "До версии 26, если изображения фона обрезаются (например, при использовании background-image спрайтов) и -webkit-print-color-adjust установлено в exact, тогда фоны будут отображаться искажённо при печати. Тёплофоновые фоны и изображения фонов, которые не обрезаются (т.е., фоны, которые уже и короче элемента, к которому они применяются), печатаются корректно. См. баг 40219905."]
9748
15Opera не печатает фоны элемента <body>. Если это свойство установлено в exact для элемента <body>, оно будет применено только к его потомкам.
15.4
6Safari не печатает фоны элемента <body>. Если это свойство установлено в exact для элемента <body>, оно будет применено только к его потомкам.
1.0["Samsung Internet не печатает фоны элемента <body>. Если это свойство установлено в exact для элемента <body>, оно будет применено только к его потомкам.", "В версии 1, если изображения фона обрезаются (например, при использовании background-image спрайтов) и -webkit-print-color-adjust установлено в exact, тогда фоны будут отображаться искажённо при печати. Тёплофоновые фоны и изображения фонов, которые не обрезаются (т.е., фоны, которые уже и короче элемента, к которому они применяются), печатаются корректно. См. баг 40219905."]
4.4WebView не печатает фоны элемента <body>. Если это свойство установлено в exact для элемента <body>, оно будет применено только к его потомкам.
economy Нет Нет 97 Нет 6 Нет 97 Нет 6 Нет Нет
exact Нет Нет 97 Нет 6 Нет 97 Нет 6 Нет Нет

См. также

  • Другие свойства, связанные с цветом: color, background-color, border-color, outline-color, text-decoration-color, text-emphasis-color, text-shadow, caret-color и column-rule-color
  • background-image

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/print-color-adjust

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API