带有 SVG 图像数据 URI 的背景图像中的 SCSS 变量

2024-04-12

在下面的SCSS中,我想使用fg-color内的变量url background-image属性。

$fg-color: #ff6464;

i.icon-back {
  background-image: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 20'><path d='M10,0l2,2l-8,8l8,8l-2,2L0,10L10,0z' fill='%23ff6464'/></svg>");
}

目前,变量的值只是在 SVG 字符串中重复,如下所示:

fill='%23ff6464'

我希望每当fg-color变量已更新。

我怎样才能做到这一点?


UPDATE:

此输入 SCSS:

i.icon-back {
  background-image: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 20'><path d='M10,0l2,2l-8,8l8,8l-2,2L0,10L10,0z' fill='$fg-color'/></svg>");
}

输出这个CSS:

i.icon-back {
  background-image: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 20'><path d='M10,0l2,2l-8,8l8,8l-2,2L0,10L10,0z' fill='$fg-color'/></svg>");
}

...它是完全相同的 - 变量没有被处理。


NOTE:

我回顾了这些问题,它们看起来相似,但并不相同:

  • 从 SCSS 创建数据 URI https://stackoverflow.com/q/22323021/194982
  • 使用数据 URI SVG 作为 CSS 背景图像 https://stackoverflow.com/q/13742934/194982

首先,创建一个 SASS 函数。 这(ab)使用字符串插值将颜色转换为字符串, 然后删除第一个字符(应始终为 '#'), 并把 '%23' 代替(' 的 URL 编码形式#').

@function url-friendly-colour($colour) {
    @return '%23' + str-slice('#{$colour}', 2, -1)
}

然后使用该函数 - 但为了让它在字符串中工作,它must进行插值,使用#{}

i.icon-back {
  background-image: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 20'><path d='M10,0l2,2l-8,8l8,8l-2,2L0,10L10,0z' fill='#{url-friendly-colour($fg-color)}'/></svg>");
}

当然,这种方法的警告是它不适用于颜色 由颜色名称而不是十六进制颜色指定。

E.g. #f00有效但是red将不会。

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

带有 SVG 图像数据 URI 的背景图像中的 SCSS 变量 的相关文章

  • 如何计算单击的甜甜圈元素的中点与负 y 轴之间的角度

    Consider the following codesample donut chart using jquery flot http jsfiddle net c5zsg6y3 26 now as i have added the im
  • 哪种 Javascript 解决方案(不是 .htc)可以真正在 IE7 和 8 中实现抗锯齿圆角?

    哪种 JavaScript 解决方案 不是 htc 确实可以在 IE7 和 8 中实现抗锯齿圆角CSS3在支持的浏览器中给出 我尝试了很多 http www ruzee com blog ruzeeborders http www ruze
  • CSS 未在 Django 项目中加载?

    我是 Django 新手 但负责该项目的前端工作 我一直在研究如何准确加载 css 文件 但我发现这些方法不起作用 这是 html 文件布局 load static
  • CSS 选择器:Active 不适用于 IE8 中的子元素单击

    我有以下 HTML 结构 div class wrapper div class control clickable img src logo png div div 以及以下 CSS control border 1px solid 00
  • 在 Java 中使用 Batik 检查和删除 SVG 中的属性

    这个问题基本上说明了一切 如何检查 SVG 是否具有 viewBox 属性 我正在使用蜡染库 我需要这个 因为我需要 至少 通知用户有一个 viewBox 属性 我可以删除它吗 使用 org w3c dom 类 您可以按照以下方式做一些事情
  • 在 Chrome 中为

    我已经看到这个问题多次出现 但没有任何明确的解决方案 我正在加载一个简单的视频
  • 网格布局:创建 CSS,以便元素在调整相邻元素大小时保持位置

    我想在网格布局中构建一个简单的图像库 并且我正在使用类似的东西悬停时缩放 http www javascript fx com navigation imagezoom general help help html缩放悬停图像 但我宁愿使用
  • Safari 滚动条和 SVG

    问题 Safari 无法正常工作 而是使用滚动条渲染我的 SVG 图像 问题的改进版本 如何填充设定的宽度并根据 Safari 中的宽高比计算高度 感谢普罗格兹 相关代码 SVG File viewBox 0 0 800 800 未指定高度
  • rvest 和 NHL 统计数据的 CSS 选择器问题

    我想从 hockey reference com 中抓取数据 特别是从以下链接中抓取数据 https www hockey reference com leagues NHL 1991 html https www hockey refer
  • 如何获得 calc() 函数的无单位结果

    我正在使用此计算来获取网页中的流体行高 line height calc 1 42em 1 55 1 42 100vw 300px 1080 300 数学是工作属性 除非我改变font size特定部分 因为line height应使用无单
  • 使用 CSS Grid,从任何地方滚动 div(不使用 jQuery 插件)

    div 怎样才能 scroll content https jsfiddle net blehmanade x1k3rhj7 33 可以从页面上的任何位置滚动吗 现在 scroll content仅当鼠标位于其上方时才可滚动 但是 当鼠标位
  • 如何防止 CFDocument 中的内容中间发生分页?

    我使用 cfdocument 标签从 html css 动态生成 PDF 文件 有些内容块我不想跨越多个页面 经过一番搜索后 我发现根据文档支持 page break inside 样式 然而 在我的测试中 声明 page break in
  • 当鼠标悬停在伪元素上时触发CSS动画?

    我试图在伪元素悬停时触发 CSS 动画 我目前有 2 个视频 显示鼠标悬停在浏览器的 50 一侧 我想应用类似的效果来为某些文本添加动画效果 我想要 p 标签在移动时向上移动并淡入 p h1 同时以同样的方式标记 就像这个网站一样 http
  • GeoJson 世界数据库 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在开发一个项目 需要使用 d3 js 显示国家和城市的地图 实际上 D3支持GeoJson格式 通常
  • 扩展位置绝对div超出溢出隐藏div

    我已经好几个月没有做过CSS了 所以我可能会错过一些简单的东西 但无论解决方案是什么 我都无法弄清楚 所以问题就在这里 这是我的代码的简化版本 div style height 100 width 200px div style margi
  • 淘汰赛绑定,每个都可进行自定义

    我这里有一个情况 用于淘汰每个带有定制的绑定 这是我的代码 div div table tbody tr td td td td tr tbody table div div
  • 即使在包裹后也具有等宽的弹性项目

    是否可以制作一个像这样的纯 CSS 解决方案 物品有一些min width 它们应该动态增长以填充所有容器宽度 然后换行到新行 列表中的所有项目都应具有相同的宽度 现在看起来是这样的 这就是我希望它看起来像的样子 我已经手动管理这些底部项目
  • 使用@font-face时浏览器下载什么字体

    font face 有点令人困惑 因为所有浏览器都无法决定使用哪种文件格式 下面是我目前正在使用的向网站添加 1 个新字体的方法 您可以看到有 4 个单独的字体文件 我知道每个文件都是因为某些浏览器支持不同的格式 但浏览器是下载所有文件还是
  • 如何让div与包含td的高度相匹配?

    我沿着桌子的一排布置了三个 面板 一个比另外两个高 我希望所有三个面板都与最高的一个的高度相匹配 我尝试将 div 的样式设置为 height 100 但是即使包含的 tds 增长 短面板仍然很短 我的 HTML 是由 JSF 生成的 因此
  • 在 HTML5 iOS 7 / iOS 8 中显示十进制键盘

    经过几个小时的搜索后 我只是有一个简单的问题 是否有可能在网络浏览器输入字段中显示小数键盘 input type number 只显示数字 但我需要在左下角使用逗号或点 我尝试过任何事情 pattern step等等 但没有显示十进制键盘

随机推荐

  • 按名称从 css LESS 列表中提取项目

    如果我有一个不太像的列表 colors red f00 green 0f0 blue 00f 我知道我可以循环列表并获取颜色 但如果我想获取特定的颜色怎么办 说我想做 extract colors green 将 0f0 从列表中删除 有没
  • HTML5 Canvas 填充两种颜色

    我需要用两种颜色填充形状 就像棋盘一样 我见过一些 css 的渐变效果 但还没有见过这样的例子 这在 Html5 Canvas 中可能实现吗 你当然可以 事实上 您可以用任何可重复的东西填充任何任意形状 即使是您在画布本身中制作的形状 这是
  • 将内容添加到列表时保持滚动位置 (AngularJS)

    我一直在尝试使用以下方法将一些项目添加到可滚动容器内的列表中ng repeat 最近的应该位于列表的顶部 如果在添加内容时容器的滚动条不在最顶部 我还需要保持滚动位置 这是我的解决方案 但我仍然有问题 Angular 在 dom 中渲染了前
  • PNG 文件格式的 IDAT 块

    我目前正在开发一种基于 png 文件格式的专有文件格式 到目前为止我已经完成了 只是它不起作用 p 我实现的 deflate 解压缩器工作起来就像一个魅力 但 png 解码器不想很好地执行 所以我看了一下原始的 png 文件 该标准规定 在
  • 选择匹配的数组元素并返回选定的字段

    我想知道如何为 Mongoose 查询中匹配的对象数组设置投影 例如 如果我有一个 Mongoose 模型 如下所示 var User new Schema name String children Child var Child new
  • 如何按字母顺序对 NSArray 进行排序?

    如何对填充的数组进行排序 UIFont familyNames 按字母顺序排列 最简单的方法是提供一个排序选择器 苹果的文档 http developer apple com library mac documentation Cocoa
  • 如果我没有调用 Java Thread Interrupt() 方法,那么谁在调用它?

    我已经阅读并重新阅读了实践中的 Java 并发性 我已经阅读了有关该主题的几个线程 我已经阅读了 IBM 文章处理InterruptedException http www ibm com developerworks java libra
  • 使 www.example.com 和 example.com 使用相同会话变量的最佳方法?

    我正在处理一个网页 我们称之为 example com 并在 CNAME 别名 下添加了 DNS 记录 Host Record Points to TTL www example com 14400 但是 当我浏览 example com
  • 如何打开我的 options.html?目前我得到 Cannot read property 'create' of undefined

    xhr onreadystatechange function if this readyState this HEADERS RECEIVED chrome tabs create url chrome extension kgllckj
  • 如何在运行时将图像插入到 WPF RichTextBox 的文本之间,以便文本漂浮在图像周围

    我正在尝试在运行时将图像插入到 WPF RichTextBox 中的文本之间 以便文本浮动 我尝试使用浮动框 但最终结果是图像旁边只能设置一行 其余内容会移到底部 这是我迄今为止用于插入图像的代码 private Image SelectI
  • Kotlin:如何让Android Studio在类底部实现接口的功能

    在 Kotlin 类中实现接口时 当我在 ClassName 上按 Alt Enter 时 我可以让 IDE 通过 实现成员 添加接口的功能 在 Kotlin 中 这些函数被添加到类的顶部 这有点烦人 我希望将它们添加到类的末尾 就像在 J
  • Python 中的简单用户名和密码应用程序

    我正在尝试使用字典构建一个简单的登录和密码应用程序 它工作正常 除了检查登录是否与密码匹配的部分 在底部显示 登录成功 如果我要创建登录名 a 和密码 b 然后创建登录名 b 和密码 a 那么如果我尝试使用登录名 a 和密码 a 登录 它就
  • 使用 blob 创建 json 文件

    我已经在字符串中编写了 json 代码 我想使用 xmlhttp 作为 json 文件发送它 可以用 blob 来做吗 var cleanScript type script api key api key data data inputs
  • 修改android中的光标列值

    我有一个从 SQLiteDataBase 对象返回的游标 我可以使用 getXXX 从光标获取列的内容 但在我的情况下 我想使用修改光标中的 更新 数据setXXX 方法 我知道没有setXXX 方法 但 CursorWindow 对象具有
  • 使用 strcpy 到 mmap 文件时出现总线错误(核心转储)

    我有一个简单的程序 int main void int fd const char text This is a test fd open tmp msyncTest O CREAT O TRUNC O RDWR S IRWXU S IRW
  • 如何使用 PHP 发送电子邮件?

    我在网站上使用 PHP 并且想添加电子邮件功能 I have Wamp服务器 https en wikipedia org wiki WampServer安装 如何使用 PHP 发送电子邮件 使用 PHP 是可以的mail http php
  • Google 图表调用 onmouseover 事件

    我一整天都在研究这个问题 但没有成功 我有一个显示一些数据的谷歌图表 工作得很好 我一直在研究更详细的图表 包括大约十几个图表图例项目 我想在图表下方显示我的图例 因此我将其位置设置为底部 但图表生成的 丑陋 分页对我的经理来说并不真正有吸
  • 何时使用 for 循环而不是 while 循环?

    我们可以使用 for 循环和 while 循环来达到相同的目的 如果我使用 for 而不是 while 它们会以什么方式影响我们的代码 if else 和 switch case 之间也会出现同样的问题吗 如何决定使用什么 例如 您更喜欢哪
  • 解决合并冲突:强制覆盖所有文件

    我正在开发 git 存储库我自己 所以是的 我知道这样做的含义和警告 并且不知何故 其中一棵树在不应该被推送后得到了提交 现在我试图撤回 它抱怨数百个合并冲突 有没有办法告诉 git强行地覆盖来自远程服务器的本地所有文件吗 有没有比这样做更
  • 带有 SVG 图像数据 URI 的背景图像中的 SCSS 变量

    在下面的SCSS中 我想使用fg color内的变量url background image属性 fg color ff6464 i icon back background image url data image svg xml cha