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>
Результат
Спецификации
Совместимость с браузерами
| Настольные | Мобильные | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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