2014-01-22 3 views
1

У меня есть следующий файл SCSS, содержащий mixins.SCSS mixins говорит о недопустимой ошибке CSS

@mixin respond-to($media) { 
    @if $media == screen-xs { 
     @media only screen and (min-width: $screen-xs-min) { 
      @content; 
     } 
     @at-root .no-mediaqueries #{&}{ @content }; 
    } @else if $media == screen-sm { 
     @media only screen and (min-width: $screen-sm-min) { 
      @content; 
     } 
     @at-root .no-mediaqueries #{&}{ @content } 
    } @else if $media == screen-md { 
     @media only screen and (min-width: $screen-md-min){ 
      @content; 
     } 
     @at-root .no-mediaqueries #{&}{ @content } 
    } @else if $media == screen-lg { 
     @media only screen and (min-width: $screen-lg-min){ 
      @content; 
     } 
     @at-root .no-mediaqueries #{&}{ @content } 
    } 
} 

При попытке получить доступ к веб-странице, он показывает ошибку:

Invalid CSS after "...mediaqueries #{": expected expression (e.g. 1px, bold), was "&}{ @content };"

Любые идеи? Я обновил драгоценный камень sass до 3.2.13, но я не знаю, был ли обновлен драгоценный камень компаса.

+0

Не должно быть '$ media == screen-xs' выглядеть следующим образом:' $ media == "screen-xs" '? –

+0

Ни одна из этих изменений не повлияла на проблему. – user1742188

+1

Стоит отметить, что копирование стилей, как внутри, так и снаружи медиа-запросов, приведет к очень раздутому CSS-файлу. – cimmanon

ответ

3

Директива @at-root требует Sass 3.3, который все еще находится в разработке. Вам нужно будет обновить Sass, используя флаг --pre: gem install sass --pre.

+0

Даже после обновления драгоценного камня Sass я все равно получаю ту же ошибку. Это потому, что в камне компаса все еще используется sass 3.1? – user1742188

+0

Проверьте свою версию ('sass --version')? Я запускаю Sass 3.3.0.rc.2 (Maptastic Maple), и ваш код компилируется для меня отлично. – cimmanon

Смежные вопросы