decoding
decoding
属性,适用于 <image>
元素,它向浏览器提供一个提示,告知浏览器是应该与渲染其他内容一起执行图像解码,从而实现更“正确”的单次呈现(sync
),还是先渲染并呈现其他内容,然后再解码图像并稍后呈现(async
)。实际上,async
意味着下一次绘制不会等待图像解码完成。
在使用 decoding
属性处理静态 <image>
元素时,通常很难察觉到任何明显的效果。它们很可能最初会被渲染成空白图像,直到图像文件被获取(无论是从网络还是从缓存中),然后它们会被独立处理,因此内容更新的“同步”效果不太明显。然而,解码过程中造成的渲染阻塞,虽然通常很小,但可以被测量到——即使很难用肉眼观察到。
当通过 JavaScript 动态将 <image>
元素插入 DOM 时,使用不同的 decoding
类型可以产生更显著的差异——有关更多详细信息,请参阅 SVGImageElement.decoding
。
允许的值
示例
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 |
浏览器兼容性
加载中…
另见
- SVGImageElement: decoding 属性
- What does the image decoding attribute actually do? (tunetheweb.com, 2023)