Аргументы Sass по умолчанию, интерполяция, цитирование и т. д. Compass box-shadow()

Я пытаюсь сделать этот миксин

@mixin dshadow($one: #{2px 3px 3px rgba(222,222,222, 0.3) false}, $two: #{-1px -1px 3px rgba(222,222,222, 0.3) false}){ 
@include box-shadow($one, $two);    
}

Пробовал с интерполяцией и без, но не получается. Я вообще не получаю теневой css.


person Doug Cassidy    schedule 21.01.2013    source источник


Ответы (1)


Если отбросить false, то работает без интерполяции. Не уверен, почему это заставляет Сасса задыхаться. В любом случае цвет должен быть последним элементом в значении box-shadow (см.: https://developer.mozilla.org/en-US/docs/CSS/box-shadow)

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

@mixin dshadow($one: 2px 3px 3px rgba(222,222,222, 0.3), $two: -1px -1px 3px rgba(222,222,222, 0.3)) { 
    @include box-shadow($one, $two);    
}

.test {
    @include dshadow;
}

Генерирует:

.test {
  -webkit-box-shadow: 2px 3px 3px rgba(222, 222, 222, 0.3), -1px -1px 3px rgba(222, 222, 222, 0.3);
  -moz-box-shadow: 2px 3px 3px rgba(222, 222, 222, 0.3), -1px -1px 3px rgba(222, 222, 222, 0.3);
  box-shadow: 2px 3px 3px rgba(222, 222, 222, 0.3), -1px -1px 3px rgba(222, 222, 222, 0.3);
}
person cimmanon    schedule 21.01.2013
comment
Хм, одна проблема, кажется, у меня был более старый Компас. Я обновился через Scout. (Я использую phpsass, а не ruby) Я заработал, взломав box-shadow.scss: $shadow : compact($shadow-1, $shadow-2, $shadow-3, $shadow-4, $shadow-5, $shadow-6, $shadow-7, $shadow-8, $shadow-9, $shadow-10); to $shadow: $shadow-1, $shadow-2; Не уверен, что здесь происходит, я не нашел ссылки на compact() на сайте sass или compass. Без взлома я получал [css],[css],false,false,false,false, поэтому, obv, compact() не делал то, что должен. - person Doug Cassidy; 22.01.2013
comment
Существует множество вспомогательных функций, которые не упоминаются в документах. Функция compact написана на Ruby: github.com/chriseppstein/compass/blob/stable/lib/compass/ - person cimmanon; 22.01.2013
comment
Да, я вижу, что у меня есть еще проблемы, касающиеся моего использования phpsass. Спасибо за помощь. - person Doug Cassidy; 22.01.2013