我通过 Sketch 导出了四个内联 SVG 的代码,具有相同的笔画宽度和颜色,但一个 SVG 在浏览器和 Codepen 上的浏览器中的行为不规律。
- 所有 SVG 的笔画宽度为“2”,然而,twitter svg 需要笔画宽度为“4”才能获得相同的效果(适用于 Chrome、Firefox 和 Safari)
- 所有 SVG 通过 stroke="#999999" 的颜色相同:
- 我的项目通过 Chrome 和 Firefox 直接查看:twitter svg stroke 是正确的颜色
Chrome 和 Firefox 上的 Codepen 示例:twitter 图标明显更亮,笔划显示为 #c2c2c2
Safari 上的个人项目和 Codepen 示例:twitter svg stroke 在 Codepen 和我的个人项目上都呈现为 #c2c2c2
解决方案'...
通过将twitter svg 的'rect'标签中的fill="#999999"更改为fill="#fff " ,svg 在 Safari 中正常显示。Chrome 和 Firefox,在没有这个“修复”的情况下都呈现了正确的颜色,不受影响。
此修复适用于我的 codepen 示例中的 Safari 以及从源代码查看时。但是,无论是否应用了此修复程序,Chrome 和 Firefox都无法正确渲染 codepen 示例,而两者都从源代码正确渲染 twitter svg,修复或不修复。
我的解决方案目前有效,但我不明白它为什么有效。非常感谢任何见解!
<rect x="29.984127" y="0.716535433" width="24.5015702" height="20.6298476" fill="#fff"></rect>