私はD3.jsを使用してアプリケーションを開発しています。私はしばらくの間横行していましたが、最近に戻ってきました。今日、私はそれが過去にうまくいったけれども、モバイルSafari(iOS 9.3.1)またはデスクトップSafari(v9.1(11601.5.17.1))には、アプリ内のSVGマップが表示されなくなったことがわかりました。サファリでSVGが消える原因となるフィルタ(ドロップシャドウ)はなぜですか?
私は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で何か変わったことがありましたか?
これは完璧な回避策のようです。私は試してみて、おそらく答えとしてこれを選択します。 – Kirkman14
これは私のためにうまくいきました。それは受け入れられた答えでなければなりません –
このソリューション、スーパーの容易さとスーパークリーンに感謝します。受け入れられた答えでなければなりません。 – Thasmo