手写笔规则集中匹配哪个选择器?

时间:2015-04-15 22:21:25

标签: selector rules stylus

无论如何都要获取在手写笔规则集中匹配的类的名称?

我想要做的是干掉这个规则(很多人喜欢它):

.button
  &:hover
    button-hover-color-scheme(teal)
    &.adwords
      button-hover-color-scheme(adwords)
    &.bingads
      button-hover-color-scheme(bingads)
    &.facebook
      button-hover-color-scheme(facebook)
    &.linkedin
      button-hover-color-scheme(linkedin)
    &.twitter
      button-hover-color-scheme(twitter)

我想让它看起来像这样:

.button
  &:hover
    button-hover-color-scheme(teal)
    &.adwords
    &.bingads
    &.facebook
    &.linkedin
    &.twitter
      button-hover-color-scheme(matched-selector)

其中matched-selectoradwords, bingads, facebook, linkedin, or twitter中的任何一个实际匹配规则。

谢谢!

编辑:

selector()功能但是它给了我整个选择器而不仅仅是最后一个匹配的部分。这几乎是我需要的,但我觉得必须有一种更简单的方法来引用匹配的选择器。

2 个答案:

答案 0 :(得分:1)

您无法获取匹配的选择器,因为此选择器仅在浏览器运行时中定义。那时候不会有任何Stylus代码,因为浏览器将使用由Stylus编译的CSS。

答案 1 :(得分:0)

感谢Panya的回答,我开始尝试使用插值来解决这个问题并提出:

.button
  &:hover
    for network in 'google' 'bing' 'facebook' 'linkedin' 'twitter'
      &.{network}
        button-hover-color-scheme(lookup(network))

诀窍是循环遍历字符串列表,使用括号表示选择器,并查找将字符串转换回变量。