HTML img 标签可以有多个 src 属性吗?

发布于 2024-08-28 12:52:22 字数 70 浏览 3 评论 0原文

就像视频标签如何提供多个源属性以便 mp4 视频可以回退到 ogg 视频一样,我希望获得 svg 图像以回退到 png 图像。

Much like how the video tag can provide multiple source attributes so an mp4 video can fall back to an ogg video, I would like to get an svg image to fall back to an png image.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

歌枕肩 2024-09-04 12:52:22

在提问时这是不可能的。但现在可以这样做:

​<picture>
    <source srcset="mdn-logo.svg" type="image/svg+xml">
    <img src="mdn-logo.png" alt="MDN">
</picture>

请参阅 MDN 上的文档< /a>

At the time of the question it wasn't possible. But now it is OK to do like this:

​<picture>
    <source srcset="mdn-logo.svg" type="image/svg+xml">
    <img src="mdn-logo.png" alt="MDN">
</picture>

See docs on MDN

撞了怀 2024-09-04 12:52:22

不,不能。

但是,您可以使用 CSS 背景图像来伪造它。

为了避免显示损坏的图像字形,您可能根本不希望使用 标记,而是使用两个具有不同背景图像的嵌套元素。 (请注意,这会损害可访问性)

No, it cannot.

However, you can fake it using CSS background images.

To avoid displaying the broken image glyph, you might want to not use an <img> tag at all and instead use two nested elements with different background images. (Note that that would hurt accessibility)

意犹 2024-09-04 12:52:22

这里有一篇文章可能会有所帮助:后备图像和超时 - 外部内容。 Javascript

它提供了一些 javascript 选项。

使用背景图像效果很好,但您必须知道图像的尺寸。如果您不知道,那么这可能会很棘手。

There's a post here that might help: Fallback image and timeout - External Content. Javascript

It offers a few javascript options.

Using a background image works well, but you will have to know what the dimensions of your images are. If you don't know then it may be tricky.

时间你老了 2024-09-04 12:52:22

尽管这可能不是您想要的,但值得一提的是,您可以指定视网膜显示屏的不同分辨率

<img src="image-src.png" srcset="image-1x.png 1x, image-2x.png 2x,
                                 image-3x.png 3x, image-4x.png 4x">

Though this is probably not what you wanted, it's worth mentioning that you can specify different resolutions for retina displays:

<img src="image-src.png" srcset="image-1x.png 1x, image-2x.png 2x,
                                 image-3x.png 3x, image-4x.png 4x">
不知所踪 2024-09-04 12:52:22

只需将 svg 包含为 并将 放入其中即可。

<object data='image.svg'>
    <img src='image.png'>
</object>

那应该有效。只有当无法显示 svg 时才会显示 png 图像。

Just include the svg as <object> and put <img> inside of it.

<object data='image.svg'>
    <img src='image.png'>
</object>

That should work. The png image will only be shown when it's impossible to display svg.

强者自强 2024-09-04 12:52:22

简单的回答...不。

Simple answer... No.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文