【发布时间】:2015-05-18 20:09:27
【问题描述】:
我正在尝试设置链接样式并遵循 BEM 原则,但我从 sass 编译器收到错误消息。这是html
<a href="#" class="sg-link sg-link-icon">Link with icon</a>
这里是粗鲁的东西:
.sg-link {
color: #111;
text-decoration: none;
&-icon {
&:before {
margin-right: 10px;
}
}
&:hover{
color: $maggie;
}
}
现在,当 sass watch 编译时,我在终端中收到此错误:
error source/scss/atoms/_02-links.scss (Line 7: Invalid CSS after " &": expected "{", was "-icon {"
"-icon" may only be used at the beginning of a compound selector.)
我以前使用过这种技术并且一直有效,所以我认为可能是 sass 版本与它有关。我正在使用Sass 3.2.13 (Media Mark)。所以我检查了 sass 网站,最新版本应该是Sass 3.4.13 (Selective Steve),但是当我尝试用gem update sass 更新时,它没有说要更新。也尝试过 sudo 但没有运气。想法?
编辑:我刚刚在 Sassmeister 上检查了相同的代码,它工作正常
提前致谢
【问题讨论】:
-
您对 Sass 版本的看法是正确的。 3.2.x 不处理你的 sn-p 而使用 3.4.x 编译它就好了。你用什么来编译你的 Sass?你是从命令行使用 Sass 还是使用一些构建工具(例如 Grunt、Gulp 等)来自动编译它?
-
我正在使用终端运行手表,例如
sass --watch path/scss:path/css -
我明白了。您能粘贴
which sass终端命令的输出吗? -
错误输出在问题中,是这个意思吗?如果您在我尝试在此处更新时需要输出,则为
ISVGRELT0001904:~ mliberato$ sudo gem update sass Password: Updating installed gems Nothing to update -
我实际上是指在终端运行以下命令的输出:
which sass。