2017-01-31 2 views
1

По какой-то причине box-shadow mixin возвращает значение, которое считается недействительным браузером. Почему это происходит? Как исправить?Компас "box-shadow" mixin возвращает Недопустимое значение свойства

В моей .scss:

@import "compass/css3/box-shadow"; 

@include box-shadow(0px 1px 5px 1px #c4c3c3); 

возвращает это:

-webkit-box-shadow: compact(0px 1px 5px 1px #c4c3c3, false, false, false, false, false, false, false, false, false); 
-moz-box-shadow: compact(0px 1px 5px 1px #c4c3c3, false, false, false, false, false, false, false, false, false); 
box-shadow: compact(0px 1px 5px 1px #c4c3c3, false, false, false, false, false, false, false, false, false); 

Compass box-shadow invalid return

Я использую компас WebPack в sass и css погрузчиков. Это то, что возвращается в <script> тег:

enter image description here

UPD:

Похоже, это node-sass вопрос. sass-loader использует node-sass и node-sass не совместим с Compass. https://github.com/sass/node-sass/issues/1004

+1

Значение, которое выводится, действительно ошибочно. Свойство 'box-shadow' не принимает ничего подобного' compact' и т. Д. Но когда я пытаюсь выполнить код на sassmeister.com, вывод является очень правильным кодом, который полностью отличается от приведенного здесь вывода. – Harry

+2

['box-shadow' mixin] (http://compass-style.org/reference/compass/css3/box_shadow/) использует некоторые вспомогательные функции, которые, в свою очередь, возвращают вывод некоторой функции' compact'. Похоже, что что-то в этой цепочке терпит неудачу (или) некоторые дополнительные включения/импорт отсутствуют и т. Д. Я не могу найти точную проблему и поэтому оставляю эту информацию здесь как комментарий, чтобы помочь другим с анализом. – Harry

+1

@Harry Спасибо – Green

ответ

0

Как и я, я импортировал тень окна таким же образом @import "compass/css3/box-shadow"; и с той же проблемой.

Это должно работать правильно? Почему, я не могу ответить иначе, чем сказать, что мы обновили компилятор SASS от Compass до gulp-sass, который, по моему мнению, основан на узле. (После комментариев, похоже, задействован узел-сасс. Я предпочитаю просто импортировать то, что мне нужно, как вы). Я обнаружил, что Harry сделал это, кажется, цепь не работает.

Чтобы решить эту проблему, я обновил свой импорт заявление@import "compass/css3";, и она работала, как ожидалось. Это заставит вас идти, но не может быть идеальным в зависимости от вашего места.

Надеюсь, это поможет!

0

У меня была такая же проблема, но потом я понял, что sss сгенерированная версия css не включает «px» для моих значений.

Мне пришлось добавить px для каждого значения, которое я устанавливал. Поскольку это должно быть рядом с числом, то есть 8px, мне пришлось использовать синтаксис интерполяции, показанный ниже.

@mixin halo($halo-color: $gray-base, $halo-width: 8) { 
    -moz-box-shadow: 0 0 #{$halo-width}px $halo-color; 
    -webkit-box-shadow: 0 0 #{$halo-width}px $halo-color; 
    box-shadow: 0 0 #{$halo-width}px $halo-color; 
} 
Смежные вопросы