首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sass:合并只有一个逗号的两个列表

问Sass:合并只有一个逗号的两个列表
EN

Stack Overflow用户
提问于 2013-01-06 23:10:13
回答 2查看 1.4K关注 0票数 1

我现在正在写一个mixin,它可以让我用一层盒子阴影来做一个3d盒子效果。

返回的结果代码如下所示:

代码语言:javascript
复制
.someclass {
  box-shadow: 1px 0 1px #203891, 0 1px 1px #3852B1, 2px 1px 1px #203891,
  1px 2px 1px #3852B1, 3px 2px 1px #203891, 2px 3px 1px #3852B1;
}

这段代码取自css-tricks的按钮。

我需要用逗号分隔的附加/加入列表的帮助:

给出以下两个列表:

代码语言:javascript
复制
$bottom: 1px 0 1px $bottomcolor
$right: 0 1px 1px $rightcolor

我想加入他们的行列,获得:

代码语言:javascript
复制
$joined: 1px 0 1px $bottomcolor, 0 1px 1px $rightcolor

这是我在使用Sass的内置列表函数时得到的结果:

代码语言:javascript
复制
append($bottom, $right, comma) => 1px, 0, 1px, red, 0 1px 1px red

join($bottom, $right, comma) => 1px, 0, 1px, red, 0, 1px, 1px, red
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-06 23:10:13

我刚刚意识到为什么上面的代码不能工作,因为$bottom和$right不是2D列表,只有1D列表……

我最终像这样解决了我的mixin:

代码语言:javascript
复制
@import compass

=boxeffect($depth, $bottomcolor, $rightcolor)

   $layers: 1px 0 1px $bottomcolor, 0 1px 1px $rightcolor

   @for $i from 1 through $depth
       $layers: append($layers, (#{$i + 1}px #{$i}px 1px $bottomcolor), comma)
       $layers: append($layers, (#{$i}px #{$i + 1}px 1px $rightcolor), comma)

   +box-shadow($layers)


.test
   +boxeffect(2, #222222, #333333)

其结果是:

代码语言:javascript
复制
/* line 18, ../sass/temp.sass */
.test {
  -webkit-box-shadow: 1px 0 1px #222222, 0 1px 1px #333333, 2px 1px 1px #222222, 1px 2px 1px #333333, 3px 2px 1px #222222, 2px 3px 1px #333333;
  -moz-box-shadow: 1px 0 1px #222222, 0 1px 1px #333333, 2px 1px 1px #222222, 1px 2px 1px #333333, 3px 2px 1px #222222, 2px 3px 1px #333333;
  box-shadow: 1px 0 1px #222222, 0 1px 1px #333333, 2px 1px 1px #222222, 1px 2px 1px #333333, 3px 2px 1px #222222, 2px 3px 1px #333333;
}
票数 0
EN

Stack Overflow用户

发布于 2013-10-15 20:56:53

这也是可行的:

代码语言:javascript
复制
$cat: ();
$a: 1px 0px url(http://domain.com);
$b: 0px 1px #bbb;
$cat: append( unquote( $a ), $b, comma );

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14183430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档