2016-08-21 5 views
0

Im создает для моего проекта вспомогательный класс как поля, размер шрифта и т. Д., И у меня возникает проблема. Я хочу определить имя класса, где свойство в имени класса должно быть присвоено как «placeholder».Динамическая переменная для имени класса в sass

В настоящее время, как вы можете видеть, он генерирует m-r- (количество) по диапазону цикла и имеет огромное ограничение (время для компиляции и диапазона).

  1. Есть ли возможность совершить переменную $ value как placeholder?
  2. Если нет, то как увеличить время компиляции в глотке?

Вот ссылка для codepen http://codepen.io/anon/pen/NAmVVj

$break-small: 320px; 
    $break-medium: 768px; 
    $break-large: 1024px; 
    $break-extra: 1280px; 

    $baseSizes: (s: 1.5vw, m: 0.7vw, l: 5px, x: 5px); 
    $fontSizes: (s: 4.7vw, m: 2.08vw, l: 16px, x: 16px); 

    @mixin respond-to($media) { 
     @if $media == s { 
     @media (max-width: $break-medium) { 
      @content; 
     } 
     } 
     @else if $media == m { 
     @media (min-width: $break-medium) and (max-width: $break-large) { 
      @content; 
     } 
     } 
     @else if $media == l { 
     @media (min-width: $break-large) and (max-width: $break-extra) { 
      @content; 
     } 
     } 
     @else if $media == x { 
     @media (min-width: $break-extra) { 
      @content; 
     } 
     } 
    } 

    $range: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10; 

    $properties: (m: "margin", p: "padding", b: "border"); 
    $directions: (t: "top", b: "bottom", l: "left", r: "right", a: "all"); 

    @each $value in $range { 
     @each $breakpoint, $size in $baseSizes { 
     @each $aliasProp, $propValue in $properties { 
      @each $aliasFrom, $fromValue in $directions { 

      @if $aliasFrom == a { 
       .#{$aliasProp}-#{$aliasFrom}-#{$value} { 
       $final: calc((#{$value} * #{$size}) * 2); 

       #{$propValue}: $final; 
       } 
      } 

      @if $aliasFrom != a { 
       .#{$aliasProp}-#{$aliasFrom}-#{$value} { 
       $final: calc((#{$value} * #{$size}) * 2); 

       #{$propValue}-#{$fromValue}: $final; 

       &-#{$breakpoint} { 
        @include respond-to($breakpoint) { 
        $final: calc((#{$value} * #{$size}) * 2); 

        #{$propValue}-#{$fromValue}: $final !important; 
        } 
       } 
       } 
      } 


      } 
     } 
     } 
    } 

Спасибо за ответы!

ответ

0

Я решил это, обработав свою библиотеку через узел-узел, поскольку он занимает ~ 0.2 с, тогда как gulp-sass ~ 23 сек, но мне все еще интересно узнать вопрос №1.

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