使用svg在CSS

时间:2018-06-19 05:14:50

标签: css google-chrome svg clip-path

我已经创建了一个svg用作图像上的剪辑路径,它在Firefox中看起来很完美,但它在Chrome中不起作用,我想知道问题是什么。

Chrome应该支持内嵌svg剪辑路径according to this

全力支持according to MDN

<style>

  img {
    width: 40%;
    height: auto;
    display: inline;
  }
  .clip {
      -webkit-clip-path: url('#clip');
      clip-path: url('#clip');
  }
</style>
<p>Left image should be clipped, right image is not.</p>
<img src="https://i.imgur.com/nnHdzO6l.jpg" class="clip">

<img src="https://i.imgur.com/nnHdzO6l.jpg" >

<svg version="1.1"
     baseProfile="full"
     height="400"  width="400"
     xmlns="http://www.w3.org/2000/svg">

  <defs>
     <clipPath id="clip" 
               clipPathUnits="objectBoundingBox"
               transform="scale(0.0025, 0.0025)">
               <!-- https://css-tricks.com/scaling-svg-clipping-paths-css-use/ -->
       <circle cx="50%" cy="50%" r="50%" />
       <rect width="82.8%" height="82.8%" y="17.2%" x="8.6%" />
     </clipPath>
  </defs>
</svg>

1 个答案:

答案 0 :(得分:0)

Chrome当前不支持外部SVG文件。

您可以在此处进行检查: https://developers.facebook.com/docs/apps/examples-platform-policy-4.5

他们说的是对Chrome的部分支持:

  

部分支持是指支持形状和url(#foo)语法   用于嵌入式SVG,但不适用于外部SVG。