【发布时间】:2016-08-10 20:39:15
【问题描述】:
我正在使用 D3.js 开发应用程序。我有一段时间被转移了,最近又回来了。今天我发现,虽然过去运行良好,但应用程序中的 SVG 地图不再显示在移动版 Safari (iOS 9.3.1) 或桌面版 Safari (v9.1 (11601.5.17.1) ) 上。
我提取了 SVG 和单个样式规则并将它们放在 CodePen 上以说明发生了什么。在 Chrome 中,这支笔看起来不错。在 Safari 中,它将完全空白。
https://codepen.io/Kirkman/pen/pyKzeX
如果您在 Safari 中检查 DOM,您会发现路径在那里,并且它们的形状正确。他们只是看起来不可见。在检查器中取消选中样式规则会导致整个地图神奇地出现(显然没有阴影)
样式规则很简单:
svg {
-webkit-filter: drop-shadow( 2px 2px 4px rgba(0,0,0,.4) );
filter: drop-shadow( 2px 2px 4px rgba(0,0,0,.4) );
}
谁能建议为什么这不起作用?是我做错了什么,还是在 Safari 中发生了一些变化?
【问题讨论】:
-
我在 2016 年向 Apple 提交了一份错误报告,他们说他们在 iOS 11 中修复了这个问题。bugreport.apple.com/web/?problemID=25788891
标签: css svg safari mobile-safari css-filters