CSS-свойство `image-rendering`
Базовая поддержка Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в различных версиях браузеров. Она доступна во всех браузерах с октября 2021 года.
Свойство image-rendering CSS задаёт алгоритм масштабирования изображения. Свойство применяется к самому элементу, к любым изображениям, заданным в его других свойствах, а также к его потомкам.
Пользовательский агент масштабирует изображение, если автор страницы задаёт размеры, отличные от его естественного размера. Масштабирование также может происходить в результате взаимодействия с пользователем (изменения масштаба). Например, если естественный размер изображения — 100×100px, а его фактические размеры — 200×200px (или 50×50px), изображение будет увеличено (или уменьшено) с использованием алгоритма, заданного свойством image-rendering. Это свойство не влияет на изображения без масштабирования.
Попробуйте
image-rendering: auto;
image-rendering: smooth;
image-rendering: crisp-edges;
image-rendering: pixelated;
<section id="default-example">
<img
class="transition-all"
id="example-element"
src="/shared-assets/images/examples/lizard.png" />
</section>
#example-element {
height: 480px;
object-fit: cover;
}
Синтаксис
/* Keyword values */ image-rendering: auto; image-rendering: smooth; image-rendering: crisp-edges; image-rendering: pixelated; /* Global values */ image-rendering: inherit; image-rendering: initial; image-rendering: revert; image-rendering: revert-layer; image-rendering: unset;
Значения
Это свойство задаётся одним из следующих ключевых слов:
-
auto - Алгоритм масштабирования зависит от пользовательского агента. Начиная с версии 1.9 (Firefox 3.0), Gecko использует билинейную передискретизацию (высокое качество).
-
smooth - Изображение следует масштабировать алгоритмом, который обеспечивает наилучший внешний вид изображения. В частности, допустимы алгоритмы масштабирования, которые «сглаживают» цвета, например билинейная интерполяция. Это предназначено для таких изображений, как фотографии.
-
crisp-edges - Изображение масштабируется алгоритмом, например методом «ближайшего соседа», который сохраняет контрастность и чёткость краёв изображения. Обычно это предназначено для таких изображений, как пиксельная графика или линейные рисунки; размытие и сглаживание цветов не выполняются.
-
pixelated - Изображение масштабируется методом «ближайшего соседа» или аналогичным алгоритмом до ближайшего целого кратного исходного размера, после чего для достижения конечного требуемого размера применяется плавная интерполяция. Это предназначено для сохранения «пиксельного» вида без артефактов масштабирования, когда увеличенное разрешение не кратно исходному.
Примечание: Значения optimizeQuality и optimizeSpeed, присутствовавшие в раннем черновике (и заимствованные из соответствующего атрибута SVG image-rendering), определены как синонимы значений smooth и pixelated соответственно.
Примечание: Модуль CSS Images определяет значение high-quality для свойства image-rendering, позволяющее отдать предпочтение масштабированию более высокого качества, однако ни один браузер его не поддерживает.
Формальное определение
| Исходное значение | auto |
|---|---|
| Применяется к | всем элементам |
| Наследуется | да |
| Вычисленное значение | как задано |
| Тип анимации | дискретный |
Формальный синтаксис
image-rendering =
auto |
crisp-edges |
pixelated |
smooth
Примеры
Задание алгоритмов масштабирования изображений
В этом примере изображение повторяется четыре раза, и для каждого экземпляра задано своё значение image-rendering.
<div>
<img
class="auto"
alt="A small photo of some white and yellow flower against a leafy green background. The image is about 33% smaller than the size it is being displayed at. This upscaling causes the image to appear blurry, with notable soft edges between objects."
src="blumen.jpg" />
<img
class="smooth"
alt="The same photo as the previous image, which is also being upscaled the same amount. Browsers that support the smooth value for the image-rendering property display the image with the maximize appearance."
src="blumen.jpg" />
<img
class="pixelated"
alt="The same photo as the previous image, which is also being upscaled the same amount. Browsers that support the pixelated value for the image-rendering property display the image as very pixelated. Individual pixels are clearly visible and edges appear much sharper."
src="blumen.jpg" />
<img
class="crisp-edges"
alt="The same photo as the previous images, which is also being upscaled the same amount. Browsers that support the crisp-edges value for the image-rendering property display the image as very pixelated. In these examples, there is virtually no perceivable difference between the pixelated and crisp-edges versions."
src="blumen.jpg" />
</div>
img {
height: 200px;
}
CSS
.auto {
image-rendering: auto;
}
.smooth {
image-rendering: smooth;
}
.pixelated {
image-rendering: pixelated;
}
.crisp-edges {
image-rendering: crisp-edges;
}
Результат
Спецификации
| Спецификация |
|---|
| Модуль CSS Images Level 3 # the-image-rendering |
| Масштабируемая векторная графика (SVG) 2 # ImageRendering |
Совместимость с браузерами
| Настольные компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari для iOS | Samsung Internet | WebView для Android | WebView для iOS | |
image-rendering |
13 |
79 |
3.6 |
15 |
6 |
18 |
4 |
14 |
6 |
1.0 |
3 |
6 |
auto |
13 |
79 |
3.6 |
15 |
6 |
18 |
4 |
14 |
6 |
1.0 |
4.4 |
6 |
crisp-edges |
148
13
|
148
79
|
65
3.6
|
132
15
|
7
6
|
148
18
|
65
4
|
99
14
|
7
6
|
1.0 |
148
4.4
|
7
6
|
optimizeQuality |
Нет |
Нет |
3.6 |
Нет |
7 |
Нет |
4 |
Нет |
7 |
Нет |
Нет |
7 |
optimizeSpeed |
Нет |
Нет |
3.6 |
Нет |
7 |
Нет |
4 |
Нет |
7 |
Нет |
Нет |
7 |
pixelated |
41 |
79 |
93 |
26 |
10 |
41 |
93 |
26 |
10 |
4.0 |
41 |
10 |
smooth |
Нет |
Нет |
93 |
Нет |
Нет |
Нет |
93 |
Нет |
Нет |
Нет |
Нет |
Нет |
См. также
object-fitobject-positionimage-orientationimage-resolution- Модуль CSS Images
- Атрибут SVG
image-rendering
© 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/image-rendering