嵌入式发布 SVG:CMS、Wiki 与组件文档里单文件可引,但要警惕富文本消毒、邮件客户端与 base64 体积顶穿性能预算
`embedded-image-psd-svg` 适合「粘贴一个地址或一段 markup 就能在文档里铺开」的协作;内嵌 PNG 可走外链或 data URI,对 CSP、缓存与邮件兼容影响截然不同。若把同一文件直接当 LCP hero 而不做体积分档,会把 TTFB 与 HTML 体积同时打爆。
如何使用
- 查清目标系统允许的 SVG 标签白名单、是否禁止外链 `href` 与是否重写 `data:`;在 staging 用真实编辑器保存一轮,确认清洗后 `<image>` 仍在。
- 在页面模板用 `max-width` 与 `sizes` 锁最大展示宽度,核对 `naturalWidth` 是否覆盖最大宽度乘 DPR;邮件渠道并行准备 PNG 回退。
- 装饰性预览按站点无障碍策略标记 `aria-hidden` 或空 `alt`;信息型插图走带替代文本的独立资源,勿混用营销头图语义。
PSD 转 SVG(embed)问答
嵌入 CMS 的 SVG 在响应式容器里被拉到很宽后出现马赛克,应从模板约束入手还是回到 PSD 提高合并长边?
应双管齐下:模板侧用 `max-width`、`sizes` 与 `srcset` 思想限制最大 CSS 宽度;源侧保证内嵌 PNG 的物理像素 ≥ 最大展示宽度 × 目标 DPR。只改 CSS 不改像素会在大屏上必然糊;只加像素不锁容器则浪费带宽与首屏时间。
富文本编辑器保存后 SVG 被清洗成空白或只剩空壳,是产品 bug 还是安全策略预期,工程上如何绕行?
多数 CMS 默认剥 `<foreignObject>`、外链与脚本,有时会误伤 `<image>`;应将文件放在受信静态域用 `<img>` 或 iframe 引用,而不是把整段 SVG 粘进 WYSIWYG。若必须内联,需与安全团队开白名单标签并回归测试保存/发布链路。
邮件营销里夹 SVG 在 Outlook 与部分 Webmail 直接不显示,怎样准备兜底而不双倍维护设计?
应以 PNG 回退为默认交付,在模板用 MIME 探测或简单客户端矩阵切换;SVG 仅作为「支持者的增强层」。文档中写清哪些客户端仅显示 raster,避免运营把「没动画」当故障报给工程。
把巨大 PNG 以 base64 塞进 SVG 再内联进 HTML,对 SEO 与 TTFB 的典型伤害是什么,怎样拆分到可缓存静态资源?
内联会放大 HTML 体积、阻断浏览器缓存复用并拖慢首次解析;应改为同源指纹 URL + 长 `Cache-Control`,HTML 只保留轻量引用。仅在离线包、邮件内嵌或强合规单文件归档场景保留 base64,并设硬性体积上限。
无障碍审计要求所有图片有替代文本,装饰性预览 SVG 应标记为装饰还是强行写冗长 `alt`?
纯视觉装饰且重复正文信息的预览应使用 `aria-hidden="true"` 或 `role="img"` 配合空 `alt`,避免屏幕阅读器复读营销套话。若 SVG 承载关键数据图表或文案,必须提供简明 `alt` 或旁路文本,不能把「预览」当借口跳过。