image-rendering
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2021.
* Some parts of this feature may have varying levels of support.
Die image-rendering
CSS-Eigenschaft legt einen Bildskalierungsalgorithmus fest. Die Eigenschaft gilt für das 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 wird ein Bild skalieren, wenn der Seitenautor Abmessungen angibt, die von der 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 unter Verwendung des durch image-rendering
festgelegten Algorithmus hoch- oder herunterskaliert. Diese Eigenschaft hat keinen Effekt 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 Neuberechnung (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", akzeptabel, wie bilineare Interpolation. Dies ist für Bilder wie Fotos gedacht.
crisp-edges
-
Das Bild wird mit einem Algorithmus wie "Nearest Neighbor" skaliert, der den Kontrast und die Kanten im Bild erhält. Allgemein für Bilder wie Pixelkunst oder Linienzeichnungen gedacht; es erfolgt kein Verwischen oder Farbglättung.
pixelated
-
Das Bild wird mit dem "Nearest Neighbor" oder einem ähnlichen Algorithmus auf den nächsten ganzzahligen Vielfachen der ursprünglichen Bildgröße skaliert und dann mit glatter Interpolation auf die endgültige gewünschte Größe gebracht. Dies soll ein "pixeliges" Aussehen bewahren, ohne Skalierungsartefakte einzuführen, wenn die hochskalierte Auflösung kein ganzzahliges Vielfaches der ursprünglichen ist.
Hinweis:
Die Werte optimizeQuality
und optimizeSpeed
, die in einem frühen Entwurf vorhanden waren (und vom 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 hochwertigere Skalierung bereitzustellen; dies wird jedoch in keinem Browser unterstützt.
Formale Definition
Anfangswert | auto |
---|---|
Anwendbar auf | alle Elemente |
Vererbt | Ja |
Berechneter Wert | wie angegeben |
Animationstyp | diskret |
Formale Syntax
Beispiele
Bildskalierungsalgorithmen festlegen
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
Specification |
---|
CSS Images Module Level 3 # the-image-rendering |
Scalable Vector Graphics (SVG) 2 # ImageRendering |
Browser-Kompatibilität
Siehe auch
object-fit
object-position
image-orientation
image-resolution
- CSS images Modul
- SVG
image-rendering
Attribut