在 svg/vml 或画布形状周围放置阴影

发布于 2024-10-22 02:24:25 字数 82 浏览 2 评论 0原文

在使用 svg(兼容 IE7/8 的 vml)创建的形状下或在使用 html5 的画布创建的形状下创建阴影是否容易?我正在寻找创建一个带有阴影的箭头。

Is it easy to create drop shadows under shapes created with svg (vml for IE7/8 compatibility) or under shapes created with html5's canvas? I'm looking to create an arrow with a drop shadow.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

森罗 2024-10-29 02:24:25

这是一个 svg 示例,展示了如何获取投影:

  <defs>
    <filter id="dropshadow" height="130%">
      <feGaussianBlur in="SourceAlpha" stdDeviation="3"/> 
      <feOffset dx="2" dy="2" result="offsetblur"/> 
      <feMerge> 
        <feMergeNode/>
        <feMergeNode in="SourceGraphic"/> 
      </feMerge>
    </filter>
  </defs>
  <polygon points="58.263,0.056 100,41.85 58.263,83.641 30.662,83.641 62.438,51.866 0,51.866 0,31.611 62.213,31.611 30.605,0 58.263,0.056" fill="#EEEEEE" filter="url(#dropshadow)"/>

重要的部分是:

  1. 定义(svg 过滤器 可以做更多事情不仅仅是 dropshadows)
  2. 要使用过滤器,请通过 CSS 'filter' 属性或presentation 属性通过 url(#id) 语法过滤器引用它,如上例所示

Here's an svg example showing how to get a dropshadow:

  <defs>
    <filter id="dropshadow" height="130%">
      <feGaussianBlur in="SourceAlpha" stdDeviation="3"/> 
      <feOffset dx="2" dy="2" result="offsetblur"/> 
      <feMerge> 
        <feMergeNode/>
        <feMergeNode in="SourceGraphic"/> 
      </feMerge>
    </filter>
  </defs>
  <polygon points="58.263,0.056 100,41.85 58.263,83.641 30.662,83.641 62.438,51.866 0,51.866 0,31.611 62.213,31.611 30.605,0 58.263,0.056" fill="#EEEEEE" filter="url(#dropshadow)"/>

The important bits are:

  1. The <filter> definition (svg filters can do a lot more than just dropshadows)
  2. To use the filter, reference it by the url(#id) syntax filter via the CSS 'filter' property, or presentation attribute as in the example above
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文