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 Algorithmus zur Bildskalierung fest. Die Eigenschaft gilt für ein Element selbst, für alle Bilder, die in seinen anderen Eigenschaften festgelegt sind, 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 skaliert ein Bild, wenn der Seitenautor Abmessungen angibt, die von seiner natürlichen Größe abweichen. Skalierung kann auch durch Benutzerinteraktion (Zoomen) erfolgen. Zum Beispiel, wenn die natürliche Größe eines Bildes 100×100px ist, aber seine tatsächlichen Abmessungen 200×200px (oder 50×50px) betragen, dann wird das Bild hoch- (oder herunter-) skaliert mit dem Algorithmus, der von image-rendering angegeben wird. Diese Eigenschaft hat keine Auswirkungen 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 vom UA abhängig. Seit Version 1.9 (Firefox 3.0) verwendet Gecko bilineare Neukodierung (hohe Qualität).
smooth-
Das Bild sollte mit einem Algorithmus skaliert werden, der das Erscheinungsbild des Bildes maximiert. Insbesondere sind Skalierungsalgorithmen zulässig, die Farben "glätten", wie z.B. bilineare Interpolation. Dies ist für Bilder wie Fotos gedacht.
crisp-edges-
Das Bild wird mit einem Algorithmus wie "nächster Nachbar" skaliert, der Kontraste und Kanten im Bild bewahrt. Generell ist dies für Bilder wie Pixelgrafiken oder Zeichnungen gedacht, bei denen keine Unschärfe oder Farbglättung auftritt.
pixelated-
Das Bild wird mit dem "nächster Nachbar"- oder einem ähnlichen Algorithmus auf das nächste ganze Vielfache der Originalgröße skaliert und verwendet dann eine glatte Interpolation, um das Bild auf die gewünschte Endgröße zu bringen. Dies soll ein "pixeliertes" Aussehen 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 aus ihrem SVG-Gegenstück image-rendering stammen), sind als Synonyme für die Werte smooth und pixelated definiert.
Hinweis:
Das CSS images-Modul definiert einen high-quality-Wert für die image-rendering-Eigenschaft, um eine Präferenz für höherwertige Skalierung bereitzustellen, jedoch wird dies in keinem Browser unterstützt.
Offizielle Definition
| Anfangswert | auto |
|---|---|
| Anwendbar auf | alle Elemente |
| Vererbt | Ja |
| Berechneter Wert | wie angegeben |
| Animationstyp | diskret |
Offizielle Syntax
image-rendering =
auto |
smooth |
high-quality |
pixelated |
crisp-edges
Beispiele
>Festlegen von Bildskalierungsalgorithmen
In diesem Beispiel wird ein Bild dreimal wiederholt, wobei jedem eine andere image-rendering-Wert zugewiesen 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