SASS エラー: “” の後の CSS が無効です: 予期されたメディア クエリ リストは “” 画面のみでした…”

概要

以下に示すように 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.

エラーを生成するコードは次のとおりです。

_トップバー.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; }
}
....

どうすれば解決できますか?

解決策

問題は、-media-query への割り当てにおける構文エラーだけです。

文字列内の二重引用符をエスケープするか、一重引用符を使用する必要があります。

あなたの例では、CSS プロパティ min-width の文字列は必要ないため、より簡単な方法は次のとおりです。

の代わりに

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

試す

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