【发布时间】:2014-07-28 15:23:30
【问题描述】:
我想获取要应用样式的 div 的 ID,并设置一个变量以将该 ID 作为其值。这是萨斯能做到的吗?所以选择器#eleven 会将变量的值设置为“十一”。
这是当前代码。首先是我正在使用的 mixin:
@mixin left-icon ($bgcolor, $bgurl, $iconmargin) {
background: $bgcolor url(images/#{$bgurl}.png) no-repeat left 5px center;
& h2, & p {margin-left: $iconmargin;}
}
这是我调用 mixin 的时候:
#eleven {
@include left-icon(#de4c3f,eleven,$defaulticonmargin);
}
因此,当我使用该 mixin 时,会设置背景颜色、文件名的一部分和边距值(添加到某些子选择器中)。如您所见,$bgurl 变量与选择器的名称匹配。基本上我想自动化,以便将$bgurl 设置为 ID 中的文本字符串(删除哈希符号)。
原因是我将拥有几十个具有相同基本图案但背景图像独特的框,在我看来,最简单的做法是使用 ID 名称作为保存每个 PNG文件名,然后让 Sass 匹配它们。我可以像我在这里所做的那样做,并把价值放在手边,但这似乎是 Sass 可能做的事情,所以我宁愿花时间把它做好并更多地了解 Sass,而不是做一半的工作。
希望这是有道理的,而不是一个可笑的愚蠢问题——我承认(你不会对此感到惊讶)我是一个非常原始的 Sass 新兵,但我认为我可以从这个问题中学到东西。
【问题讨论】:
-
是的,刚刚回到这个。 Pezholio 的解决方案正是我所需要的。我也会看看实现你的,但我并不完全清楚它是如何解决问题的——这是我知识的限制,希望我能通过尝试你的版本来了解更多关于 SASS 的信息
标签: variables sass css-selectors