SVG路径阴影仅在表单外部

问题描述 投票:1回答:2

我有一个简单的封闭svg路径

<path d="M10 10 H 90 V 90 H 10 L 10 10" fill="none" stroke-width="2px" stroke="black" />

是否可能仅在外部边框上获得阴影效果?

不是那样:

enter image description here

但是那样:

enter image description here

内部应保持透明。

svg path shadow
2个回答
0
投票

我有同样的问题,怎么办?


-1
投票

正如@Robert Longson所说的,使用口罩是解决方案:

<svg>
  <defs>
    <filter id="glow" x="-20%" y="-20%" width="140%" height="140%">
      <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 1 0"></feColorMatrix>
      <feGaussianBlur stdDeviation="4" result="coloredBlur"></feGaussianBlur>
      <feMerge>
        <feMergeNode in="coloredBlur"></feMergeNode>
        <feMergeNode in="SourceGraphic"></feMergeNode>
      </feMerge>
    </filter>
  </defs>

  <defs>
    <mask id="myMask">
      <rect x="0" y="0" width="100" height="100" fill="white" />
      <rect x="11" y="11" width="78" height="78" fill="black" />
    </mask>
  </defs>
</svg>
<svg width="100px" height="100px" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <rect x="0" y="0" width="100" height="100" fill="yellow" />
  <path d="M10 10 H 90 V 90 H 10 L 10 10" stroke-width="2px" stroke="black" filter="url(#glow)" mask="url(#myMask)" fill="none" />
</svg>
© www.soinside.com 2019 - 2024. All rights reserved.