ページの HTML 要素の 1 つに適用された SVG クリップ パスを使用している Web ページがあります。
SVG 要素:
<svg height="0" width="0">
<defs>
<clipPath id="clip">
<path d="M150 0 L75 200 L225 200 Z" />
</clipPath>
</defs>
</svg>
クリッピング パスが適用される HTML 要素
<div id="clipMe"> </div>
クリップを定義する CSS
#clipMe {
clip-path: url(#clip);
-webkit-clip-path: url(#clip);
width: 200px;
height: 200px;
background-color: red;
}
同じページにさまざまな要素があり、そのうちのいくつかは相対的に配置されています。
<div style="position: relative">
<strong>My parent is relative</strong>
</div>
#clipMe
Safari (8.0.4) のみで、 div から clipPath (SVG 要素内) へのリンクが損なわれていない限り、これらの相対的に配置された要素は表示されません。
FF と Chrome の最新バージョンは期待どおりに表示されます。
position:
プロパティを相対以外のものに変更すると、すべてが期待どおりに表示されます。
クリッピング パスを無効にすると (SVG 要素をまとめて削除するかclip-path:
、CSS からプロパティを削除して)、期待どおりにすべてが表示されます。
繰り返しますが、これは Safari のみです。それをSVGクリッピングパスに切り分けるのにしばらく時間がかかったposition: relative
ので、同様の結果が得られる他の状況があると推測しています。
誰かがこれに遭遇したり、相対的に配置された s を表示するための提案はありますか?
編集
これはMacのものかもしれません。OSX の Chrome と Firefox では期待どおりに表示されますが、iOS のどのブラウザーでも相対的に配置された DIV は表示されません。
何か案は?