image-rendering CSS property
Baseline
Weitgehend verfügbar
*
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Januar 2020 browserübergreifend verfügbar.
* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.
Die image-rendering CSS-Eigenschaft legt einen Bildskalierungsalgorithmus fest. Die Eigenschaft gilt für das Element selbst, für alle in seinen anderen Eigenschaften gesetzten Bilder und für seine Nachkommen.
Probieren Sie es aus
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;
}
Der User Agent wird ein Bild skalieren, wenn der Seitenautor andere Dimensionen als seine natürliche Größe angibt. Skalierung kann auch durch Benutzerinteraktion (Zoomen) auftreten. Zum Beispiel, wenn die natürliche Größe eines Bildes 100×100px ist, aber die tatsächlichen Abmessungen 200×200px (oder 50×50px) betragen, wird das Bild entsprechend dem Algorithmus skaliert, der durch image-rendering angegeben ist. Diese Eigenschaft hat keinen Einfluss auf nicht skalierte Bilder.
Syntax
/* 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;
Werte
auto-
Der Skalierungsalgorithmus ist UA-abhängig. Seit Version 1.9 (Firefox 3.0) verwendet Gecko bilineare Nachabtastung (hohe Qualität).
smooth-
Das Bild sollte mit einem Algorithmus skaliert werden, der das Erscheinungsbild des Bildes maximiert. Insbesondere sind Skalierungsalgorithmen, die Farben "glätten", zulässig, wie z.B. bilineare Interpolation. Dies ist für Bilder wie Fotos gedacht.
crisp-edges-
Das Bild wird mit einem Algorithmus wie "Nearest Neighbor" skaliert, der Kontrast und Kanten im Bild bewahrt. Allgemein gedacht für Bilder wie Pixel Art oder Strichzeichnungen, es tritt keine Unschärfe oder Farbglättung auf.
pixelated-
Das Bild wird mit dem "Nearest Neighbor" oder einem ähnlichen Algorithmus auf das nächste ganzzahlige Vielfache der ursprünglichen Bildgröße skaliert und verwendet dann eine weiche Interpolation, um das Bild auf die endgültige gewünschte Größe zu bringen. Dies soll einen "pixeligen" Look bewahren, ohne Skalierungsartefakte einzuführen, wenn die hochskalierte Auflösung kein ganzzahliges Vielfaches der Originalgröße ist.
Hinweis:
Die Werte optimizeQuality und optimizeSpeed, die in einem frühen Entwurf vorhanden sind (und von ihrem SVG-Gegenstück image-rendering stammen), sind als Synonyme für die Werte smooth bzw. pixelated definiert.
Hinweis:
Das CSS images-Modul definiert einen high-quality-Wert für die image-rendering-Eigenschaft, um eine Präferenz für qualitativ hochwertigere Skalierung zu bieten, jedoch wird dies in keinem Browser unterstützt.
Formale Definition
| Anfangswert | auto |
|---|---|
| Anwendbar auf | alle Elemente |
| Vererbt | Ja |
| Berechneter Wert | wie angegeben |
| Animationstyp | diskret |
Formale Syntax
image-rendering =
auto |
smooth |
high-quality |
pixelated |
crisp-edges
Beispiele
>Festlegen von Bildskalierungsalgorithmen
In diesem Beispiel wird ein Bild viermal wiederholt, wobei jeweils ein anderer image-rendering-Wert angewendet wird.
CSS
.auto {
image-rendering: auto;
}
.smooth {
image-rendering: smooth;
}
.pixelated {
image-rendering: pixelated;
}
.crisp-edges {
image-rendering: crisp-edges;
}
Ergebnis
Spezifikationen
| Spezifikation |
|---|
| CSS Images Module Level 3> # the-image-rendering> |
| Scalable Vector Graphics (SVG) 2> # ImageRendering> |
Browser-Kompatibilität
Siehe auch
object-fitobject-positionimage-orientationimage-resolution- CSS images-Modul
- SVG
image-renderingAttribut