TL; DR:是否可以根据通过img标签包含的 svg 中的媒体查询加载其他图像?
我生成了一堆 svg 文件,其中包含带有文本和图标的表格。PDF 在语义上将是一个更好的容器,但我需要将此类“文档”保留为图像以进行无缝嵌入/预览,它可能无法解决我的问题。所以这个故事是关于图标的。
我编写了内联样式,其中媒体查询选择了与用户屏幕 DPI 相对应的图标。图标已经捆绑到精灵中,所以我使用pattern/image[xlink:href]+ fill:url(#id)。当我将 svg 直接嵌入 HTML(DOM 岛)时,一切都按需要工作。img但是如果我通过标签(即)嵌入 svg <img src="foo.svg">,它根本不会加载图标,更不用说显示它们了。
我知道,我可以通过数据 URL 嵌入图标,但是为所有支持的屏幕 dpi 嵌入图标似乎太多了。具有讽刺意味的是,图标是光栅图标,很难矢量化像素艺术,所以我不能为所有 DPI 设置一组图标。
有没有办法让媒体查询选择正确的图标而不嵌入它们?