使用 SASS 将列表作为单个参数传递给 mixin

2024-02-19

我喜欢用 SASS 制作 mixins,这有助于我实现良好的跨浏览器兼容性。我想制作一个如下所示的 mixin:

@mixin box-shadow($value) {
    box-shadow: $value;
    -webkit-box-shadow: $value; 
    -moz-box-shadow: $value; 
}

我可以传递这样的东西:

@include box-shadow(inset -2px -2px 2px rgba(0,0,0,0.5), inset 1px 1px 2px rgba(255,255,255,0.5), inset 0px 0px 0px 1px #ff800f);

结果是这样的:

box-shadow: inset -2px -2px 2px rgba(0,0,0,0.5), inset 1px 1px 2px rgba(255,255,255,0.5),inset 0px 0px 0px 1px #ff800f;
-moz-box-shadow: inset -2px -2px 2px rgba(0,0,0,0.5), inset 1px 1px 2px rgba(255,255,255,0.5),inset 0px 0px 0px 1px #ff800f;
-webkit-box-shadow: inset -2px -2px 2px rgba(0,0,0,0.5), inset 1px 1px 2px rgba(255,255,255,0.5),inset 0px 0px 0px 1px #ff800f; 

然而,这不起作用,因为编译器认为我正在尝试传递 mixin 3 参数。 box-shadow 采用可变数量的逗号分隔位,所以我不能只定义像这样的 mixinbox-shadow($1,$2,$3).

我尝试通过

@include box-shadow("inset -2px -2px 2px rgba(0,0,0,0.5), inset 1px 1px 2px rgba(255,255,255,0.5), inset 0px 0px 0px 1px #ff800f");

它编译了,但实际上并没有渲染样式。

关于如何解决这个问题有什么建议吗?


变量参数

有时,mixin 接受未知数量的参数是有意义的。例如,用于创建盒子阴影的 mixin 可能采用任意数量的阴影作为参数。对于这些情况,Sass 支持“变量参数”,它们是 mixin 声明末尾的参数,它获取所有剩余参数并将它们打包为列表。这些参数看起来就像普通参数,但后面跟着 .... 例如:

@mixin box-shadow($shadows...) {
  -moz-box-shadow: $shadows;
  -webkit-box-shadow: $shadows;
  box-shadow: $shadows;
}

.shadows {
  @include box-shadow(0px 4px 5px #666, 2px 6px 10px #999);
}

via: http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#variable_arguments http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#variable_arguments

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

使用 SASS 将列表作为单个参数传递给 mixin 的相关文章

随机推荐

  • 如何用CLOB调用REPLACE(不超过32K)

    Oracle 11g 确实提高了 CLOB 的可用性 重载了大多数字符串函数 因此它们现在可以与 CLOB 一起本地工作 然而 一位同事从他的代码中得到了这个错误 ORA 22828 input pattern or replacement
  • 如何对 django url 进行单元测试?

    除了我的应用程序之外 我的应用程序在所有地方都实现了 100 的测试覆盖率urls py 你对我如何写作有什么建议吗有意义的对我的 URL 进行单元测试 FWIW 这个问题是在我尝试测试驱动开发时出现的 并且希望在编写代码来修复它们之前失败
  • 如何通过已知路由器上的三角测量来确定我的位置?

    有没有可用的开源软件 基本上 我只想根据位置固定且已知的路由器的信号强度进行三角测量 我意识到可能存在干扰的情况 但我们还是坚持列出已知的源代码 谢谢 我不知道任何三边测量软件 有人应该编写一个开源库 看看三边测量 http en wiki
  • 错误 NETSDK1064:找不到软件包 DnsClient,1.2.0

    我有一个 Asp Net core docker 镜像 我上次尝试构建它是两个月前 现在 我在尝试构建它时遇到错误 有任何想法吗 是不是有什么东西破坏了 Microsoft docker 镜像 当尝试在 Elasticbeanstalk 实
  • Python“数组索引太多”

    我正在使用 pandas 读取 python 中的文件 然后将其保存在 numpy 数组中 该文件的尺寸为 11303402 行 x 10 列 我需要拆分数据以进行交叉验证 为此我将数据切片为 11303402 行 x 9 列的示例和 1
  • 在 Cython 类中,使用 __init__ 和 __cinit__ 有什么区别?

    代码块1使用 init cython 3 cdef class c cdef int a str s def init self self a 1 self s abc def get vals self return self a sel
  • 服务器使用 HTTP Keep-Alive 与客户端通信

    最近在一次采访中 我被问到如何处理在线聊天客户端应用程序 我经历了标准的 轮询 解决方案 但被打断了 因为面试官正在寻找 HTTP 1 1 keep alive 方法 使用 HTTP 相当长一段时间并记住重点是 无状态 这对我来说从来没有发
  • 无法对测试运行“xxxx 2011-10-20 13:00:00”进行排队。您没有执行该操作的适当权限

    我正在尝试在 C VS2010 中运行我的测试用例 但突然有一天 它开始向我展示无法对测试运行 xxxx 2011 10 20 13 00 00 进行排队 您没有执行该操作的适当权限 错误 虽然我通过我的测试进行了调试 但无法选择并运行它
  • 如果连接丢失,从 SQL Server 到 Oracle 服务器的 OpenQuery 将无限期挂起

    我有一个在 SQL Server 2005 数据库上运行的计划作业 它运行一个从视图导入数据的存储过程 该视图由一个OPENQUERY到链接的 Oracle 服务器 我无法控制 Oracle 服务器 它在地理上和虚拟上都与 Sql Serv
  • 如何重命名本地 Git 分支?

    如何重命名尚未推送到远程存储库的本地分支 Related 重命名本地和远程 Git 存储库的 master 分支 https stackoverflow com questions 1526794 rename master branch
  • 如何在 Swift 中为 iOS 制作垂直文本 UILabel 和 UITextView?

    如果您根据标题提出这个问题 但对蒙古语不感兴趣 您可能会寻找以下问答 Swift 如何旋转 UIButton 和 UILabel 的文本 https stackoverflow com questions 28717634 swift ho
  • JSoup.clean() 不保留相对 URL

    我努力了 Whitelist relaxed Whitelist relaxed preserveRelativeLinks true Whitelist relaxed addProtocols a href http https mai
  • jQuery 检测 cookie 已启用

    我有一个基于 jQuery 的网络应用程序 我的要求相当简单 我想使用 jQuery 来查明用户是否在其 Web 浏览器中启用或禁用了 cookie 我知道有一个可用的插件可用于创建 检索 删除 更新 cookie 但是 有没有办法 jQu
  • 字符串类型不可变的非技术好处

    我想知道从程序员的角度来看 字符串类型不可变的好处 技术优势 在编译器 语言方面 可以概括为 如果类型是不可变的 则更容易进行优化 读here https stackoverflow com questions 2916358 immuta
  • Crypto++ 输出数据长度

    我正在尝试使用 Crypto 库中的 AES 加密 CBC Mode
  • 将 void* 转换为 double

    我正在尝试使用pthread计算库n斐波那契数列其中n可以来自范围0 1000 当我尝试输入我的内容时 我遇到了一个奇怪的错误void to a double 在我的主要部分中 我调用了计算斐波那契函数 pthread create tid
  • Cookie 存在安全风险吗?

    假设我们有一个网站询问用户的姓名 然后 网站将该值存储在 cookie 中 并在下一页上通过 PHP 检索该值并以某种方式使用它 可能该页面将名称显示为文本 用户是否可以修改cookie数据来注入恶意代码 脚本检索 cookie 数据时是否
  • Chrome 浏览器中无法启用静默调试

    我无法在最新更新的 Chrome 浏览器中看到 Chrome 浏览器标志之一 启用静默调试 如果该标志已更改为其他标志 请告诉我 该标志在版本 79 之后被删除 您仍然可以使用命令选项激活它chrome exe silent debugge
  • 获取 mongodb 查询中项目的索引

    我有一个查询 如下所示 function getPage page return db messages aggregate group id subjectID skip page 20 limit 20 说我有一个subjectID我知
  • 使用 SASS 将列表作为单个参数传递给 mixin

    我喜欢用 SASS 制作 mixins 这有助于我实现良好的跨浏览器兼容性 我想制作一个如下所示的 mixin mixin box shadow value box shadow value webkit box shadow value