2014-11-11 2 views
-1

Интересно, если следующий синтаксис является правильным для Sass:Могу ли я использовать аргументы в определении функции?

@function foo($param) 
{ 
    @return $param; 
} 
@mixin bar($paramOne, $paramTwo: foo($paramOne)) 
{ 
    test: $paramTwo; 
} 
#test { @include bar(foobar); } 

С ожидаемой доходностью:

#test { test: foobar; } 

Не похоже на работу (как $paramOne looses it's value) при использовании следующей PHPSASS compiler для SASS/SCSS ,

Это правильный синтаксис? Или я чего-то не хватает?

Это очень похоже, как это в _vertical_rhythm.scss:

@mixin adjust-font-size-to($to-size, $lines: lines-for-font-size($to-size), $from-size: $base-font-size) { 
+0

Почему вы спрашиваете здесь, а не держите его в этой теме? Нет ничего результативного в размещении здесь. Если вы хотите знать, является ли он «правильным», обратитесь к версии Ruby http://sassmeister.com/gist/78080cdec3a519c93f2a – cimmanon

+0

@cimmanon Я спрашиваю о правильном синтаксисе языка стилей Sass, поскольку я не знаком с Сасс. Должен ли я отправлять сообщения на [codereview] (http://codereview.stackexchange.com/)? Я думаю, вы уже ответили, что это правильно, и вы можете использовать аргументы внутри функции. – kenorb

ответ

0

кажется, что вид синтаксиса полностью действует в качестве cimmanon отправил его на sassmeister gist (спасибо), который используется на Ruby версии парсера. У некоторых других парсеров может быть проблема с этим (phpsass в этом случае) в зависимости от того, как они реализовали эту логику.

В случае проблем, убедитесь, что вы используете правильный синтаксический анализатор для scss синтаксиса, не sass синтаксиса (wiki, например new SassParser(['syntax' => 'scss'])). См: What's the difference between SCSS and Sass?


Обратите внимание, что тот же синтаксис был использован в Compass (с открытым исходным кодом CSS Authoring Framework) для вертикального Ритм как:

@mixin adjust-font-size-to($to-size, $lines: lines-for-font-size($to-size), $from-size: $base-font-size) 

но в recent version это просто:

@mixin adjust-font-size-to($to-size, $lines: auto, $from-size: $base-font-size)