Css 获取sass中的父属性值

Css 获取sass中的父属性值,css,sass,compass-sass,Css,Sass,Compass Sass,我正在尝试使用sass为我的应用程序创建顶级的样式。网站上的大多数链接都是绿色的,所以我把它作为一种风格。(我正在使用指南针进行变暗功能) 然而,在某些情况下,链接不是绿色的。在这些情况下,我必须同时指定文本颜色和悬停颜色,否则它将默认为绿色悬停。我想知道是否有办法做这个干衣机。理想情况下,我将能够得到父类的颜色,就像这样 a { color: green; &:hover { color: darken(parent(color), 10%); } } 这样,悬

我正在尝试使用sass为我的应用程序创建顶级的
样式。网站上的大多数链接都是绿色的,所以我把它作为一种风格。(我正在使用指南针进行
变暗
功能)

然而,在某些情况下,链接不是绿色的。在这些情况下,我必须同时指定文本颜色和悬停颜色,否则它将默认为绿色悬停。我想知道是否有办法做这个干衣机。理想情况下,我将能够得到父类的颜色,就像这样

a {
  color: green;

  &:hover {
    color: darken(parent(color), 10%);
  }
}
这样,悬停将始终默认为特定对象的任何颜色。这有意义吗?这样的事情可能吗?如果没有,最好的处理方法是什么?混血

谢谢

我会使用mixin:

@mixin link($color) {
    a { color: $color};

    &:hover { color: darken($color, 10%) };
}

.foo {
    @include link(green);
}
渲染CSS:

.foo a { color: green; }

.foo a:hover { color: #004d00; }

你问的是不可能的。SASS不会构建包含所有元素和属性的对象模型(没有HTML是不可能的)

mixin对于可重用的案例是一个合适的解决方案,但是对于临时案例来说,它是一个过度的解决方案

只需使用一个变量:

a {
  $link-color: green;
  color: $link-color;

  &:hover {
    color: darken($link-color, 10%);
  }
}

请注意,您可以将变量移动到一个单独的部分,在其中存储所有变量。

如果我的原始问题不可能,这肯定是我的想法。您可以将我链接到一个重复的问题吗?我当然找不到有人问同样的问题。选择的重复问题链接在这个问题的顶部。
a {
  $link-color: green;
  color: $link-color;

  &:hover {
    color: darken($link-color, 10%);
  }
}