Sass 基本级别规则不能包含引用字符'&';

Sass 基本级别规则不能包含引用字符'&';,sass,Sass,我正在编写ROR 4教程,其中有一章提到了如何将Sass编译为CSS。我将(#logo:hover和#footer:hover)修改为&:hover,但出现了错误 Base-level rules cannot contain the parent-selector-referencing character '&'. (in/Users/snailwalker/rails_projects/sample_app/app/assets/stylesheets/custom.css.sc

我正在编写ROR 4教程,其中有一章提到了如何将Sass编译为CSS。我将(
#logo:hover和#footer:hover
)修改为
&:hover
,但出现了错误

Base-level rules cannot contain the parent-selector-referencing character '&'.
 (in/Users/snailwalker/rails_projects/sample_app/app/assets/stylesheets/custom.css.scss:54)
我的SCSS:

/* header */
#logo {
  float: left;
  margin-right: 10px;
  font-size: 1.7em;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: -1px;
  padding-top: 9px;
  font-weight: bold;
  line-height: 1;
}
& :hover {
  color: #fff;
  text-decoration: none;
}

您的
&
必须嵌套在css/scss规则中,以便:

.my_class {
    css-rule: value;
    another-css-rule: value;

    &:hover {
        css-hover-rule: value;
    }
 }
您使用Sass的方式不知道
&
的用途。 上述内容与以下内容相同:

.my_class {
    some rules.....
}

.my_class:hover {
    some hover rules....
}

我相信你需要把它放到商标的花括号里

像这样:

# logo {
    float: left;
    ...
  &:hover {
    color: color;
  }
}

我也有同样的问题,我有:&::selection{background:$color base;}&::-webkit selection{background:$color base;}&::-moz selection{background:$color base;}当我删除这部分代码时,这工作没有任何问题!我不知道原因是什么