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

css
/* 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

Anfangswertauto
Anwendbar aufalle Elemente
VererbtJa
Berechneter Wertwie angegeben
Animationstypdiskret

Formale Syntax

image-rendering = 
auto |
smooth |
high-quality |
pixelated |
crisp-edges

Beispiele

Bildskalierungsalgorithmen festlegen

In diesem Beispiel wird ein Bild dreimal wiederholt, wobei jedem eine andere image-rendering-Wert zugewiesen wird.

CSS

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