SCSS选择器拾取

SCSS选择器拾取,css,sass,Css,Sass,我刚开始使用sass/scss,我有一个小问题。让我们假设以下代码: .button { color:#c00; &:hover { color:#000; } } 一切都很棒,一切正常。但是假设我想根据标签的不同进行不同的悬停。因此,如果标签是span,则显示一种颜色,如果标签是a,则显示另一种颜色 这是否可以在不重复选择器某些部分的情况下实现 谢谢 不。记住,最后所有的东西都会编译成CSS 方法如下: .button { .green { color

我刚开始使用sass/scss,我有一个小问题。让我们假设以下代码:

.button {
  color:#c00;
  &:hover {
    color:#000;
  }
}
一切都很棒,一切正常。但是假设我想根据标签的不同进行不同的悬停。因此,如果标签是
span
,则显示一种颜色,如果标签是
a
,则显示另一种颜色

这是否可以在不重复选择器某些部分的情况下实现


谢谢

不。记住,最后所有的东西都会编译成CSS

方法如下:

.button {
  .green {
    color:green;
    &:hover { color:black; }
  }
  .red {
    color:red;
    &:hover { color:black; }
  }
}
不过,您需要添加一个类


您可以使用mixin方法,但它会更加详细。

我会这样做:

.button {
  color: red;
  &:hover { color: black; }
}

span.button:hover { color: green; }

a.button:hover { color: blue; }
在这里自己玩一玩: