SASS error : Invalid CSS after "": expected media query list, was ""only screen an..."

SASS error : Invalid CSS after "": expected media query list, was ""only screen an..."

如果我调用 SASS 命令,如下所示:

call sass C:\Users\simon\source\repos\Pippo\ClickR\Styles\main.scss C:\Users\simon\source\repos\Pippo\ClickR\Styles\main.css

我收到以下错误:

Error: Invalid CSS after "": expected media query list, was ""only screen an..."
    on line 348 of C:/Users/simon/source/repos/Pippo/ClickR/Styles/foundation/components/_top-bar.scss
    from line 22 of C:/Users/simon/source/repos/Pippo/ClickR/Styles/_foundation.scss
    from line 3 of C:\Users\simon\source\repos\Pippo\ClickR\Styles\main.scss
    Use --trace for backtrace.

这是生成错误的代码:

_top-bar.scss

....
$topbar-media-query: "only screen and (min-width:"#{$topbar-breakpoint}")" !default;
....
@media #{$topbar-media-query} {
.top-bar {
  background: $topbar-bg;
  @include clearfix;
  overflow: visible;

  .toggle-topbar { display: none; }

  .title-area { float: $default-float; }
  .name h1 a { width: auto; }

  input,
  .button {
    line-height: 2em;
    font-size: emCalc(14px);
    height: 2em;
    padding: 0 10px;
    position: relative;
    top: 8px;
  }

  &.expanded { background: $topbar-bg; }
}
....

我该如何解决? 谢谢, 西蒙

问题只是分配给 $topbar-media-query 的语法错误。

你应该转义字符串中的双引号或者你应该使用 single quote.

在您的示例中,您不需要 CSS property min-width 的字符串,因此更容易做到的是:

而不是

$topbar-media-query: "only screen and (min-width:"#{$topbar-breakpoint}")" !default;

尝试

$topbar-media-query: "only screen and (min-width:#{$topbar-breakpoint})" !default;