decoding

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

decoding 属性,适用于 <image> 元素,它向浏览器提供一个提示,告知浏览器是应该与渲染其他内容一起执行图像解码,从而实现更“正确”的单次呈现(sync),还是先渲染并呈现其他内容,然后再解码图像并稍后呈现(async)。实际上,async 意味着下一次绘制不会等待图像解码完成。

在使用 decoding 属性处理静态 <image> 元素时,通常很难察觉到任何明显的效果。它们很可能最初会被渲染成空白图像,直到图像文件被获取(无论是从网络还是从缓存中),然后它们会被独立处理,因此内容更新的“同步”效果不太明显。然而,解码过程中造成的渲染阻塞,虽然通常很小,但可以被测量到——即使很难用肉眼观察到。

当通过 JavaScript 动态将 <image> 元素插入 DOM 时,使用不同的 decoding 类型可以产生更显著的差异——有关更多详细信息,请参阅 SVGImageElement.decoding

允许的值

sync

与渲染其他内容一起同步解码图像,并一起呈现。

async

异步解码图像,在渲染并呈现其他内容之后。

auto

对解码模式没有偏好;浏览器将决定最适合用户的方式。这是默认值。

示例

html
<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg">
  <image
    href="https://example.com/mdn_logo_dark.png"
    height="200"
    width="200"
    decoding="async" />
</svg>

规范

规范
HTML
# dom-img-decoding

浏览器兼容性

另见