基本级规则不能包含父选择器引用字符'&'

时间:2014-08-28 17:50:41

标签: sass

我正在编写ROR 4教程,有一章提到了编译Sass到CSS。我将{#logo:hover and #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;
}

2 个答案:

答案 0 :(得分:4)

我相信你需要在徽章的花括号内移动它。

像这样:

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

答案 1 :(得分:3)

您的&必须嵌套在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....
}