Spec-Zone.ru › CSS

CSS-свойство `print-color-adjust`

Базовая поддержка Недавно стало доступно

Эта функция работает в последних версиях устройств и браузеров. Она может не работать на старых устройствах или в старых версиях браузеров. Она поддерживается браузерами с мая 2025 года.

CSS-свойство 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;

Значения

Это свойство задаётся одним из следующих ключевых слов:

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: #990000;
  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 WebView на iOS
print-color-adjust
136
17Chrome не печатает фоны элемента <body>. Если для элемента <body> задано значение exact этого свойства, оно будет применяться только к его потомкам.
До версии 26, если фоновые изображения обрезаны (например, при использовании спрайтов background-image) и для -webkit-print-color-adjust задано значение exact, фон при печати отображается искажённым. Однотонные фоны и фоновые изображения без обрезки (то есть фоны, ширина и высота которых меньше размеров элемента, к которому они применяются) печатаются правильно. См. ошибку 40219905.
136
79Edge не печатает фоны элемента <body>. Если для элемента <body> задано значение exact этого свойства, оно будет применяться только к его потомкам.
До версии 79, если фоновые изображения обрезаны (например, при использовании спрайтов background-image) и для -webkit-print-color-adjust задано значение exact, фон при печати отображается искажённым. Однотонные фоны и фоновые изображения без обрезки (то есть фоны, ширина и высота которых меньше размеров элемента, к которому они применяются) печатаются правильно. См. ошибку 40219905.
97
48
121
15Opera не печатает фоны элемента <body>. Если для элемента <body> задано значение exact этого свойства, оно будет применяться только к его потомкам.
До версии 15, если фоновые изображения обрезаны (например, при использовании спрайтов background-image) и для -webkit-print-color-adjust задано значение exact, фон при печати отображается искажённым. Однотонные фоны и фоновые изображения без обрезки (то есть фоны, ширина и высота которых меньше размеров элемента, к которому они применяются) печатаются правильно. См. ошибку 40219905.
15.4
6Safari не печатает фоны элемента <body>. Если для элемента <body> задано значение exact этого свойства, оно будет применяться только к его потомкам.
136
18Chrome Android не печатает фоны элемента <body>. Если для элемента <body> задано значение exact этого свойства, оно будет применяться только к его потомкам.
До версии 26, если фоновые изображения обрезаны (например, при использовании спрайтов background-image) и для -webkit-print-color-adjust задано значение exact, фон при печати отображается искажённым. Однотонные фоны и фоновые изображения без обрезки (то есть фоны, ширина и высота которых меньше размеров элемента, к которому они применяются) печатаются правильно. См. ошибку 40219905.
97
48
90
14Opera Android не печатает фоны элемента <body>. Если для элемента <body> задано значение exact этого свойства, оно будет применяться только к его потомкам.
До версии 14, если фоновые изображения обрезаны (например, при использовании спрайтов background-image) и для -webkit-print-color-adjust задано значение exact, фон при печати отображается искажённым. Однотонные фоны и фоновые изображения без обрезки (то есть фоны, ширина и высота которых меньше размеров элемента, к которому они применяются) печатаются правильно. См. ошибку 40219905.
15.4
6Safari на iOS не печатает фоны элемента <body>. Если для элемента <body> задано значение exact этого свойства, оно будет применяться только к его потомкам.
29.0
1.0Samsung Browser не печатает фоны элемента <body>. Если для элемента <body> задано значение exact этого свойства, оно будет применяться только к его потомкам.
До версии 1.5, если фоновые изображения обрезаны (например, при использовании спрайтов background-image) и для -webkit-print-color-adjust задано значение exact, фон при печати отображается искажённым. Однотонные фоны и фоновые изображения без обрезки (то есть фоны, ширина и высота которых меньше размеров элемента, к которому они применяются) печатаются правильно. См. ошибку 40219905.
136
4.4WebView Android не печатает фоны элемента <body>. Если для элемента <body> задано значение exact этого свойства, оно будет применяться только к его потомкам.
До версии 4.4, если фоновые изображения обрезаны (например, при использовании спрайтов background-image) и для -webkit-print-color-adjust задано значение exact, фон при печати отображается искажённым. Однотонные фоны и фоновые изображения без обрезки (то есть фоны, ширина и высота которых меньше размеров элемента, к которому они применяются) печатаются правильно. См. ошибку 40219905.
15.4
6WebView на iOS не печатает фоны элемента <body>. Если для элемента <body> задано значение exact этого свойства, оно будет применяться только к его потомкам.
economy
136
136
97
121
6
136
97
90
6
29.0
136
6
exact
136
136
97
121
6
136
97
90
6
29.0
136
6

См. также

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

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

Spec-Zone.ru

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