一个 SVG 文件,里面有很多 SVG 渐变

2024-01-23

我正在制作一组使用动态渐变的按钮。我已经通过使用 Firefox 3.6+ 和 WebKit 专有的 CSS 扩展来处理它们,我所需要做的就是使用 background-image: url("gradient.svg") 支持 Opera、iOS 和 IE9。

这相对简单,我制作了一个 SVG 文件,链接它并让它工作。然而,我正在制作一组,所以我至少需要 6 个渐变。当我通常在图像中执行此操作时,我会创建一个精灵以进行快速 HTTP 访问。我不确定如何在 SVG 中实现这一目标 - 我可以使用一个文件并通过使用 #identifiers 访问其 XML 的不同部分,就像 XBL 那样吗?

我当前的 SVG:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 
         "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg">
    <defs>
        <linearGradient id="select-gradient" x1="0" x2="0" y1="0" y2="1">
            <stop offset="0%" stop-color="rgb(231,244,248)"/>
            <stop offset="100%" stop-color="rgb(207,233,241)"/>
        </linearGradient>
        <style type="text/css">
          rect {
          fill: url(#select-gradient);
          }
      </style>
    </defs>
    <rect x="0" y="0" rx="6" ry="6" height="100%" width="100%"/>
</svg> 

然后我有CSS:

.button-1 {
  background-image: url("gradient-1.svg");
}

.button-2 {
  background-image: url("gradient-2.svg");
}

我想做这样的事情:

.button-1 {
  background-image: url("gradient.svg#gradient1");
}

.button-2 {
  background-image: url("gradient.svg#gradient2");
}

有可能吗?你能帮我吗?当我可以用一个 XML 文件来完成时,我真的不想推送 6 个 XML 文件。


如果你只想要按钮背景的渐变,大部分都可以在 css 中实现。对于其余浏览器,ie6+可以使用ms过滤器:http://msdn.microsoft.com/en-us/library/ms532847.aspx http://msdn.microsoft.com/en-us/library/ms532847.aspx

iOS 使用 webkit 进行渲染,因此可以使用 -webkit 供应商前缀。不幸的是,opera 仍然需要 svg,但这可能会让事情变得更容易(或者对于 opera 的 1% 用户来说,只使用普通的图像精灵)

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

一个 SVG 文件,里面有很多 SVG 渐变 的相关文章

  • 垂直对齐两个弹性项目[重复]

    这个问题在这里已经有答案了 我有一个弹性容器 container和两个弹性项目 item one and item two 我想将第一个项目垂直居中并将第二个项目粘在底部 我不知道如何在这种情况下垂直对齐第一项 HTML div class
  • 如何在css3中制作曲线风格的菜单?

    是否可以用css3制作曲线 圆弧样式的菜单 我可以使用canvas或HTML5中的其他东西来实现这一点吗 预先感谢 洛根 不幸的是 我不知道有什么优雅的解决方案 特别是当涉及到菜单项时 但弧线本身应该可以在纯 css 和几个 html 元素
  • Swift - 将图像插入 PDF 不再适用于 iOS 13

    目前正在开发在我的贷款计算器应用程序上导出 PDF 的功能 我有一个预览屏幕 可以在您保存 PDF 之前显示它 预览屏幕由带有 html 的 webView 组成 其中包含占位符 我能够成功地将图像插入到正确的占位符上 并将其显示在 PDF
  • 如何在不设置动画的情况下突然更改 CSS 动画中的属性

    这是我试图弄清楚的 但没有使用 51 关键帧作为实现更改的黑客方法transform origin 这里有一个小提琴演示 http jsfiddle net p7pswnpq keyframes spin 0 transform origi
  • 带缩略图的轮播和 bootstrap v4

    我看到了带有缩略图的轮播演示bootstrap 3 here http jsfiddle net talmand JS6JV 我正在尝试为 bootstrap v4 实现相同的功能 但无法弄清楚如何修复一些 UI 细节 例如左 右阴影覆盖整
  • 将下拉按钮和下拉菜单放在中心?

    div class dropup center block div
  • 优化 CSS 交付 - Google 的建议

    谷歌建议在 head 中使用非常重要的 CSS 内联 并在内部使用其他 CSS
  • CSS 中的边框图像开头

    MDN 是这样定义的边框图像开始 https developer mozilla org en docs Web CSS border image outset border image outset 属性描述了边框的数量 图像区域超出边框
  • jquery 文本旋转

    我在 div 中有一个简单的文本 如下所示 div div This is an example text div div 我希望 div 内的文本旋转 20 30 度 我已经找到了this https stackoverflow com
  • 基本 CSS 问题 - 父 DIV 与未知子 DIV、居中父 DIV

    当我将 DIV 居中时 我会给它一个宽度并放置margin auto然而 我对这种情况有两个问题 该父 DIV 内将有 2 或 3 个带有 float left 的 DIV 子 DIVS 的宽度不会改变 但数量可能会改变 2 或 3 因此
  • ReactJS 水平对齐material-ui 元素

    我试图在文本输入旁边有一个单选按钮 这样用户基本上可以输入问题的 答案 并标记一个首选答案 然而 Material UI 将每个都放在自己的行上 这就是我目前所拥有的 div div
  • 编辑角度材质的表格单元格填充

    当我使用开发人员工具检查该元素时 它显示零填充 但是当我查看它并将鼠标悬停在它上面时 它非常清楚地在单元格内具有填充 我不知道这是从哪里来的 并且设置td padding 0 important 什么也没做 感知到的填充是由以下原因引起的d
  • Chrome 中的错误或 CSS 错误? (隐藏可见性的锚点)

    在任何 HTML 中测试这个简单的行 a href anything span insible text here span a 您可以直接从这里测试 http jsfiddle net wqS3E http jsfiddle net wq
  • 从 PHP 生成渐变颜色

    我想知道如何构建一个给出颜色代码和 显示该颜色的渐变 例如 function generate color int colorindex Generate 10 pale colors of this color 请帮我 迈克尔引用的代码相
  • 带有 `:hover` 和多个相邻兄弟选择器的 Webkit 错误

    Safari 和 Chrome 以及 Opera 和 Firefox 都可以处理 hover伪类和相邻兄弟选择器 a hover div 这有效 但是 当添加另一个相邻兄弟时 div hover a div Webkit 崩溃了 但是 如果
  • 左对齐图像和居中文本在 div 内的同一级别?

    HTML br div class UpperTitle img src align left CableSolve Web Dashboard Version 0 1 1 div br CSS UpperTitle text align
  • CSS calc() 是否可以得到负值?

    假设我们有一个位于视口中心的容器 centered margin 0 auto width 960px 在该容器内 我有另一个容器 其宽度需要为视口宽度的 100 我可以将边距设置为 widest margin 0 480px 例如 问题是
  • 如何仅突出显示嵌套表的最里面的表行?

    我有几个嵌套表 我想突出显示鼠标指针下方的最里面的行 我怎样才能做到这一点 一些提示 我使用嵌套表来显示递归表格数据 表可以嵌套 10 层 嵌套正如您所期望的那样 table tr td table tr td table tr td 可能
  • window.open 使用 css 样式

    我想设计我的 window open 目前 我的网页上有一些项目由于解析了某个类而打开 然后在新窗口中打开指定的文本 我想更改字体大小 字体和填充等 这是我的 JavaScript 代码
  • IE9-11 检测变换样式:preserve-3d

    我为一个项目制作了一个 3d 类型的菜单 自然 IE 会引起问题 因为 IE10 即使 3d 变换工作 也不支持变换样式 preserve 3d 我尝试了解决方法 通过对 3d 菜单容器的每个子元素应用变换 但至少可以说 动画看起来很糟糕

随机推荐

  • 生成日期范围的数据,包括数据中不存在的日期

    这是我的表结构和数据 CREATE TABLE event EventID INT 11 NOT NULL AUTO INCREMENT EventDate DATETIME DEFAULT NULL Description VARCHAR
  • 使用projectile在.dir-locals中设置flycheck-clang-include-path

    尝试设置 Flycheck clang include path 而无需包含项目的完整路径 包括使用弹丸的目录 但我收到错误 所以这有效 nil company clang arguments home user Downloads pro
  • 使用 dlopen 动态加载共享库

    我正在尝试使用 dlopen 加载 TestCode so getNumber 是我想从 TestCode so 使用的函数 但是当我加载 so 时 我无法使用该功能 它给出了分段错误 示例程序 测试头 hpp ifndef HEADER
  • 使用 dlib 面部标志裁剪面部

    我正在尝试使用 dlib 识别的面部标志来裁剪面部 右眉毛造成了问题 眉毛是平的而不是沿着眉毛的弧线 我在这里做错了什么 from imutils import face utils import imutils import numpy
  • 在 Pig 中解析复杂的 JSON 字符串

    我想在 Pig 中解析一串复杂的 JSON 具体来说 我希望 Pig 将我的 JSON 数组理解为一个包 而不是单个字符数组 使用 JsonLoader 时 我可以通过指定架构轻松完成此操作 如下所示这个问题 https stackover
  • C#中复制大量数据的方法

    我正在使用以下方法将目录的内容复制到不同的目录 public void DirCopy string SourcePath string DestinationPath if Directory Exists DestinationPath
  • onpreviewframe byte[] 到 int[]

    在预览帧中 我得到 ImageFormat RGB 565 中的字节 现在我想将此 byte 转换为 int 以便我可以进行一些像素操作 我怎么能这么做呢 附 到目前为止 我是这样做的 但似乎还没有优化 public void onPrev
  • 获取日期格式/文化

    如何指定输入字符串的哪一部分是日期和月份 如果输入是01 10 2017 这可以读作2017 年 10 月 1 日 and 2017 年 1 月 10 日 两者都是正确的 我想明确表示01是日期并且10是月份 这样无论区域设置和时间格式如何
  • ngForIn 可以在 Angular 4 中使用吗?

    我正在尝试使用迭代对象的属性 ngFor但使用in 当我尝试这样做时 Controller selector sample controller template ul li b i b obj i li ul class SampleCo
  • HTML/CSS:如何为 tr 创建滚动条

    有人可以告诉我如何为内表创建滚动条吗 内表不显示在容器内 我将容器的背景涂成黄色 桌子本身是蓝色的 我想在表格内看到一个滚动条 Source http nopaste info e51385254e html http nopaste in
  • java中如何实现国际化

    我有一堂课叫Info 我有一堆static String其中描述的变量 public class Info public static stringOne Hello public static stringTwo world 我希望访问这
  • 你明白这个僵局吗?

    我的 GUI 使用 wxPython 在里面AppLogic类我有一个工作线程 它在这个类的方法中运行 这是GUI class class GUI wx app None main window None app logic None de
  • SharpDX、DirectWrite 和 Windows 窗体

    可以使用 DirectWrite 将文本渲染到 WinForm 应用程序中的 PictureBox 中吗 我正在使用 SharpDX 并浏览了 DirectWrite 示例 试图构建最简单的工作案例 我创建了一个表单并只向其中添加了一个图片
  • 根据列值分割大型 csv 文本文件

    我的 CSV 文件有多列已排序 例如 我可能有这样的行 19980102 PLXS 10032 Q A 15 12500 15 00000 15 12500 2 19980105 PLXS 10032 Q A 14 93750 14 750
  • C++ 中单例的线程安全惰性构造

    有没有一种方法可以在 C 中实现单例对象 以线程安全的方式延迟构造 两个线程可能同时是单例的第一个用户 它仍然应该只构造一次 不依赖于预先构造的静态变量 因此在构造静态变量期间单例对象本身可以安全使用 我不太了解我的C 但是在执行任何代码之
  • 使用 maven-compiler-plugin 排除包适用于一个包,但不适用于另一个包

    我的项目具有以下包结构 src com my app school course Course java com my app school course free CourseFree java 我使用Maven来构建项目 在我的pom
  • 使用 Stateful Session Bean 来跟踪用户的会话

    这是我的第一个问题 我希望我做得对 我需要从事 Java EE 项目 因此 在开始之前 我尝试做一些简单的事情 看看是否能做到 我被困住了有状态会话 Bean 这是问题 我怎样才能使用SFSB跟踪用户的会话 我看到的所有例子最终都 放入 S
  • UIBezierPath:roundedRect:byRoundingCorners:cornerRadii:行为怪异

    我正在尝试将按钮的两个角变成圆形 如果我像这样选择 TopLeft 和 BottomLeft let bezierDisableAdsPath UIBezierPath roundedRect disableAdsButton bounds
  • Gitlab Pages:无法验证域所有权

    今天早上 我收到了针对托管在自定义域上的每个 Gitlab 页面的电子邮件 称域验证失败 没关系 因为我认为我一开始就没有验证过它们 Gitlab 很好地实现了这一点 当我转到每个存储库的 设置 gt 页面 gt Domain Detail
  • 一个 SVG 文件,里面有很多 SVG 渐变

    我正在制作一组使用动态渐变的按钮 我已经通过使用 Firefox 3 6 和 WebKit 专有的 CSS 扩展来处理它们 我所需要做的就是使用 background image url gradient svg 支持 Opera iOS