5

SVG 要素を使用してかなり単純な形状を作成し、それを を使用して CSS に挿入しましたclip-path。角を丸くする必要がありますが、何らかの理由で角の1つだけが完全に効果を発揮します。

これは形です:

<svg height="500" width="500">

  <path fill="#555555" d="M50,0 L450,0 Q500,0 500,50 L500,400 Q500,450 450,450 L200,450 L175,500 L150,450 L50,450 Q0,450 0,400 L0,50 Q0,0 50,0z" />

</svg>

として使うとこうなります。clip-path

body {
  background: #555;
}
img {
  clip-path: url(#svgPath);
  -webkit-clip-path: url(#svgPath);
}
<svg height="0" width="0">
  <defs>
    <clipPath id="svgPath">
      <path fill="#FFFFFF" d="M50,0 L450,0 Q500,0 500,50 L500,400 Q500,450 450,450 L200,450 L175,500 L150,450 L50,450 Q0,450 0,400 L0,50 Q0,0 50,0z" />
    </clipPath>
  </defs>
</svg>

<img src="https://dummyimage.com/500" />

FireFox 内では完全に動作しているように見えますが、Chrome では右下隅を除いて角が正しくカットされていません。

4

1 に答える 1