javascript - SVG 不在 IOS 上渲染(渲染空白空间)
问题描述
我在不同时间在浏览器堆栈和同一 IOS 或 MacOs 设备上检查我的网站 SVG 可以工作或可以渲染空白空间
//SVG使用
<svg>
<use xlinkHref={`#${id}`} />
</svg>
//SVG
<svg
onClick={onClick}
className="top-controls-panel__icon top-controls-panel__icon--points"
x="0px"
y="0px"
viewBox="0 0 47.1 12.1"
xmlSpace="preserve"
data-ieadjustwidth="40%"
>
<path d="M0.4,6.1c0,3.1,2.5,5.6,5.6,5.6s5.6-2.5,5.6-5.6S9.1,0.5,6,0.5S0.4,3,0.4,6.1" />
<path d="M17.4,6.1c0,3.1,2.5,5.6,5.6,5.6s5.6-2.5,5.6-5.6c0,0,0,0,0,0c0-3.1-2.5-5.6-5.6-5.6S17.4,3,17.4,6.1L17.4,6.1" />
<path d="M35.4,6.1c0,3.1,2.5,5.6,5.6,5.6c3.1,0,5.6-2.5,5.6-5.6S44.1,0.5,41,0.5C37.9,0.5,35.4,3,35.4,6.1L35.4,6.1" />
</svg>
我使用 JavaScript 和 React,有时在 IOS 或 MacOS 上会呈现空白区域而不是 svg。
我在 browserStack 服务上没有苹果设备和测试站点
在其他问题中,我发现 SVG 的大小会影响 SVG 不渲染,但我不明白应该如何计算这些大小,如果 CSS 中以百分比表示大小?
我也将 <use href... 更改为 <use xlinkHref... 这对我不起作用。现在我不会尝试使用
img src="your-svg-image.svg" alt="Your Logo Alt" onerror="this.src='your-alternative-image.png'"
而不是 SVG,或者我应该使用其他变体?
解决方案
推荐阅读
- c# - 如何在 razor 中创建自定义 @using 代码块
- error-handling - julia:在控制流中显示“catch”错误
- javascript - 我用什么代替 .change 来显示或不显示基于列表值的框
- cmake - CMake ExternalProject_add 依赖项
- python - 检查数据框中每列的名称是否包含子字符串并更改数据类型
- c - Linux:在 C 中执行 execlp() 后 write() 不起作用
- asp.net - 扩展 ApplicationUsers 时,尝试访问属性时出现空错误
- c - 如何使用赋值(=)和相等(==)操作数制作语法?
- python - 按下按钮并根据您在下拉菜单中的选择执行某些操作?
- vba - 有没有办法在附件内容之后动态重命名传入电子邮件的主题行?