使用 css3 的 SVG 阴影

2024-02-03

是否可以使用 css3 为 svg 元素设置阴影,例如

box-shadow: -5px -5px 5px #888;
-webkit-box-shadow: -5px -5px 5px #888;

我看到一些关于使用滤镜效果创建阴影的评论。有单独使用css的例子吗?下面是一个工作代码,其中正确应用了光标样式,但没有阴影效果。请帮助我用最少的代码获得阴影效果。

svg .shadow { 
  cursor:crosshair; 
  -moz-box-shadow: -5px -5px 5px #888;
  -webkit-box-shadow: -5px -5px 5px #888;
  box-shadow: -5px -5px 5px #888; 
}	
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" baseProfile="full"  viewBox="0 0 120 70">	
    <rect class="shadow" x="10" y="10" width="100" height="50" fill="#c66" />
</svg>

使用CSSfilter https://developer.mozilla.org/en-US/docs/Web/CSS/filter#drop-shadow()_2财产。

支持 webkit 浏览器 http://caniuse.com/#feat=css-filters、Firefox 34+ 和 Edge。

你可以用这个polyfill https://github.com/Schepp/CSS-Filters-Polyfill将支持 FF

你会像这样使用它:

/* Use -webkit- only if supporting: Chrome < 54, iOS < 9.3, Android < 4.4.4 */

.shadow {
  -webkit-filter: drop-shadow( 3px 3px 2px rgba(0, 0, 0, .7));
  filter: drop-shadow( 3px 3px 2px rgba(0, 0, 0, .7));
  /* Similar syntax to box-shadow */
}
<img src="https://upload.wikimedia.org/wikipedia/commons/c/ce/Star_wars2.svg" alt="" class="shadow" width="200">

<!-- Or -->

<svg class="shadow" ...>
  <rect x="10" y="10" width="200" height="100" fill="#bada55" />
</svg>

<!-- Or -->

<svg>
  <g fill="none" stroke="#decade" stroke-width="2" transform="scale(2)">
    <circle class="shadow" cx="20" cy="20" r="19"/>
    <path class="shadow" d="M 20,1 V 39"/>
    <path class="shadow" d="M 20,1 V 20" transform="rotate(135, 20, 20)"/>
    <path class="shadow" d="M 20,1 V 20" transform="rotate(225, 20, 20)"/>
  </g>
</svg>

这种方法与 css 不同box-shadow效果,因为它考虑了不透明度,并且不会将阴影效果应用于框,而是应用于 svg 元素本身的轮廓。

NOTE:当课程被放置在<svg>单独的元素。您现在可以在内联 svg 元素上使用它,例如<rect>.

阅读有关 CSS 过滤器的更多信息here https://web.dev/learn/css/filters/.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 css3 的 SVG 阴影 的相关文章

  • 我的 CSS 未在 Internet Explorer 11 和 Firefox 中加载!仅适用于 Chrome

    我正在创建一个简单的网页 我的 CSS 只能在 Chrome 中使用 它在 Firefox 和 IE11 中都不起作用 这是我的 HTML h1 b u Adding a new Visitor u b h1 br div class wr
  • 将父容器扩展至 100% 高度以容纳浮动内容

    我正在为一个客户项目而苦苦挣扎 我的全部divs 没有绝对定位 height 100 for html body 和容器divs 但静态内容未达到其内容 在 910 像素处 我可以将溢出属性更改为auto 并且背景会继续向下到内容的末尾 但
  • 设置浏览器窗口最小化的最小尺寸限制?

    有没有办法在所有浏览器中手动设置浏览器窗口的最小尺寸 你可以试试 body min width 600px 一旦视口小于 600 像素 您将得到一个水平滚动条 这仅适用于支持 min width CSS 属性的现代浏览器 我认为不可能限制用
  • JSF 2.1 中的 HTML 4 <按钮>

    我想使用以下命令 The JSF
  • 对一组复选框使用 HTML5“必需”属性?

    使用支持 HTML5 的较新浏览器 例如 FireFox 4 时 并且表单字段具有属性required required 并且表单字段为空 空白 然后点击提交按钮 浏览器检测到 必填 字段为空 并且不提交表单 相反 浏览器会显示一条提示 要
  • CSS设置默认滚动位置

    有没有办法将滚动位置设置为默认值 我知道如何在 javascript 中做到这一点 例如使用 jquery div divWithScroll attr scrollTop 200 但我只想用CSS来做 我不知道是否可行 不 CSS 中没有
  • 在我的 index.php 中加载 CSS 和 JS 等资源时出现错误 403

    我使用的是 Linux Elementary OS 并在 opt 中安装了 lampp My CSS and JS won t load When I inspect my page through browser The console
  • 如何在HTML中的PHP中注释掉HTML和PHP?

    这是我想注释掉的一行代码 h1 class post title a href title a h1 一种流行的注释方法是分别注释 html 和 php 有一个更好的方法吗
  • 调整文本区域大小

    我需要使用文本区域来显示一些文本 问题是 如果我放置 4 5 行文本 就会出现滚动条 如何使用 CSS HTML 使文本区域与其内容一样大 没有滚动条 文本区域不需要动态更改其大小 我仅使用它来显示文本 我也可以使用禁用的文本区域 我希望文
  • 用隐藏单元格补充 colspanned 表格有什么不好吗?

    我一直在表格上开发一些排序和选择功能 我发现在具有跨单元格的表格中定位非常困难 我只是添加了跨区单元格并将其隐藏 它看起来不错 它与我的 js 一起工作 非常适合索引 但我想知道这是否是合法的方法 stuffing display none
  • VBA / HTML / jQuery 选择自动完成 - 在列表中选择

    我正在尝试使用 Excel 中的 VBA 在网站的列表中选择一个值 这不是一个 正常列表 该网站使用 jQuery 选择自动完成 如下所示 example http davidwalsh name demo jquery chosen ph
  • 在网页上的文本框中键入内容时删除所有空格

    我如何在用户打字时即时删除输入到文本框中的空格 function var txt myTextbox var func function txt val txt val replace s g txt keyup func blur fun
  • 动画进度元素值

    我有一个progress元素 该元素如下所示 div class container div div div
  • 防止用户在下拉菜单中选择默认值

    我试图阻止用户选择默认的下拉菜单选项 有没有办法在下拉菜单选项中添加文本而不是值 我的代码
  • 如何并排放置两个

    我有两个 div 我想要并排放置的元素 如下所示 navigation content 我想要导航 div 根据需要尽可能大 但不能更大 收缩以适应行为 内容 div 然后应该填充剩余的空间 如何在不指定百分比 例如 20 80 的情况下使
  • JavaScript 中数组的 HTML 数据列表值

    我有一个简单的程序 它必须从服务器上的文本文件中获取值 然后将数据列表填充为输入文本字段中的选择 为此 我想要采取的第一步是我想知道如何动态地将 JavaScript 数组用作数据列表选项 我的代码是
  • 在d3.js中将2D形状转换为3D,并根据ANGULAR中的值调整高度

    我正在使用 d3 js v6 创建以下 2D 图表表示的 3D 图表 这个圆圈中有多个正方形 每个正方形都根据值分配了一种颜色 值越大 正方形越暗 现在我想将其转换为 3D 形状 其中当值变高时 只有特定正方形的高度会增加 因此结果在某种程
  • 为范围旋钮 ionic-range 添加边框颜色

    我正在使用离子范围添加范围滑块 并想向范围旋钮添加边框 由于它的 ionic4 和范围旋钮是 Shadow dom 的一部分 我无法使用范围旋钮的 border 属性直接更改边框 我已附上我想要实现的图像 范围旋钮周围有白色边框 现有属性只
  • 防止文本区域出现新行

    我正在开发聊天功能 使用 Vue 并使用文本区域作为输入 以便溢出换行 并且对于编写较长消息的用户来说更具可读性 不幸的是 当用户按下 Enter 键并提交时 光标会在提交之前移动到新行 从而使用户体验感觉不佳 关于如何使用普通 Javas
  • HTML 默认图像大小

    我在我的代码上显示 3 张图片 图片具有不同的尺寸 宽度和高度 div class row div class col lg 12 h2 class page header Gallery h2 div div class col md 4

随机推荐

  • 在源代码中保护密码?

    我的代码中有一个密码 需要连接到 sftp 服务器 混淆 或隐藏在代码中的最佳方法是什么 Thanks 不要将密码存储在源代码中 而是将其存储在 App Config 或 Web Config 内的受保护部分中 See 使用受保护的配置加密
  • C++ 在模板类中重载运算符<< [重复]

    这个问题在这里已经有答案了 可能的重复 为模板类重载友元运算符 https stackoverflow com questions 4660123 overloading friend operator for template class
  • 回历日期格式

    我有一些从网站下载的数据 其中一列包含回历日期 为了使该列成为正确的日期列 我应用了以下格式 但问题是 除非我输入单元格 通过双击或 F2 然后按 Enter 键 否则它不会被视为日期并向右对齐 因为行数很大 所以我使用的方法不实用 我尝试
  • php 中 HTTPRequest 的替代方案

    我在 php 脚本中使用 HttpRequest 类 但是当我将此脚本上传到托管提供商的服务器时 执行它时出现致命错误 致命错误 在第 87 行 中找不到类 HttpRequest 我相信原因是因为我的托管提供商的 php ini 配置不包
  • android模拟器的IP地址是多少,[重复]

    这个问题在这里已经有答案了 android模拟器的IP地址是多少 根据我在互联网上找到的几个信息 127 0 0 1 10 0 0 2或10 0 015从Web服务器 apache 调用模拟器 模拟器的端口是固定的吗 10 0 2 1 路由
  • 如何正确广播 NumPy 数组的数组索引

    简短的介绍 我有两个 numpy 数组 data data shape是一个包含 X 个条目的元组 indices indices shape是元组 X Y indices基本上是一个索引数组的列表 沿第二个维度的数组指定相应维度的索引列表
  • 在新 API 的两个单独文件中初始化 Firebase 引用

    我已升级到新的 API 但不知道如何在两个单独的文件中初始化 Firebase 引用 CASE 1 1st file var config firebase initializeApp config var rootRef firebase
  • ArrayList初始化相当于数组初始化[重复]

    这个问题在这里已经有答案了 我知道您可以在实例化期间初始化数组 如下所示 String names new String Ryan Julie Bob 有没有办法用 ArrayList 做同样的事情 或者我必须单独添加内容array add
  • 以编程方式运行 Ansible playbook?

    我有一个 python 应用程序 它调用下面的代码 并计划通过 Ansible API 以编程方式运行 Ansible playbook 而不是使用子进程之类的东西 下面的代码运行但实际上似乎没有执行任何内容 获取结果的输出只会给我一个看起
  • 如何在 bash 脚本中自动按 [ENTER] 继续

    我有一个 bash 脚本 可以帮助自动安装一些应用程序 One app requests that I press ENTER to continue or CTRL C to cancel How can I automate my sc
  • 风暴集群重复元组

    目前我正在开展一个项目 在该项目中我在四台 Unix 主机上设置了一个 Storm 集群 拓扑本身如下 JMS Spout 侦听 MQ 以获取新消息 JMS Spout 解析然后将结果发送到 Esper Bolt 然后 Esper Bolt
  • 引导程序中的字形不显示

    div class container fluid div class sidebar left div class well h5 Administration h5 ul class administration list li cla
  • 适用于 2 页的书签

    I m using a bookmarklet to inject javascript into a webpage I am trying to login into my gmail account that part works a
  • 当 akka actor 在测试线程之外抛出异常时,scalatest 失败

    我曾经遇到过这样的情况 在我测试一个 Actor 时 Actor 意外抛出异常 由于错误 但测试仍然通过 现在 大多数情况下 Actor 中的异常意味着无论测试正在验证什么 都不会正确显示 因此测试失败 但在极少数情况下 情况并非如此 异常
  • 购买“iPhone”的买家退货空空如也

    tables create table product product id int product name varchar 50 unit price int insert into product values 1 S8 1000 2
  • 在 SQL Server 2008 中调试长动态 sql

    我有一些动态 sql 语句在某些条件下会崩溃 所以我正在尝试调试它 它的构建方式如下 declare sql varchar 4000 select sql
  • PHP中有这个函数吗?

    我发现自己需要这个函数 并且想知道它是否已经存在于 PHP 中 Truncates str and returns it with ending on the end if str is longer than limit characte
  • UILabel swift 中多行字符串的边界矩形

    我已经尝试了几个小时来找到boundingRect我有 UILabel 中的字符串 但似乎没有任何效果 据我了解 boundingRect返回标签中实际文本的大小 而不是标签的大小或类似的内容 这是真的 对吧 我有一个UILabel cal
  • 为什么 gulp.src 不喜欢传递一组完整的文件路径?

    我试图向 gulp src 传递一个我希望它处理的文件数组 这就是现在的数组 bower components jquery jquery js bower components superscrollorama js greensock
  • 使用 css3 的 SVG 阴影

    是否可以使用 css3 为 svg 元素设置阴影 例如 box shadow 5px 5px 5px 888 webkit box shadow 5px 5px 5px 888 我看到一些关于使用滤镜效果创建阴影的评论 有单独使用css的例