2016-03-28 26 views
2

Bir SASS mixin yazdım ve onu başka bir kısmi dosyaya ekledim. Bazı garip nedenlerden dolayı derlenmiş CSS'deki kod bloğunu içermiyor. Hesaplamaları @debug kullanarak bırakabilirim ve doğrular. Neden CSS dosyasına yazmıyor? Mixin ile aynı yerde bildirilen diğer kurallar derleme değil, sadece mixin. Herhangi bir işaretçi çok yardımcı olur.SASS mixin ile karıştırıldı

input, select { 

    @include px2rem(font-size, 15px); 
    @debug (16px/$base-font-size) * 1rem; 
    @debug (15px/16px) * 1rem; 

    height: 2.5rem; 
    line-height: 2.5rem; 
    padding: 1rem; 
    width: 70%; 
    margin-bottom: 1rem; 
    border-radius: 1px; 
    border: #bcbebf 1px solid; 
} 

Derleyen CSS:

.subscription input, 
.subscription select{ 
    height:2.5rem; 
    line-height:2.5rem; 
    padding:1rem; 
    width:70%; 
    margin-bottom:1rem; 
    border-radius:1px; 
    border:1px solid #bcbebf 
} 

İşte

_mixins.scss:4 DEBUG: 1.06667rem 

onu tüketir seçicidir:

@mixin px2rem($property, $px) { 
    $property: $px; 
    $property: ($px/$base-font-size) * 1rem; 
    @debug inspect(($px/$base-font-size) * 1rem); 
} 

ayıklama özelliği aşağıdaki verir: İşte kod Hata ayıklama ifadelerinin çıktısı:

_subscription.scss:9 DEBUG: 1.06667rem 
_subscription.scss:10 DEBUG: 0.9375rem 

cevap

2

deneyin değerlemek için:

@mixin px2rem($property, $px) { 
    #{$property}: $px; 
    #{$property}: ($px/$base-font-size) * 1rem; 
    @debug inspect(($px/$base-font-size) * 1rem); 
} 

Düzenleme:

Eğer Sass CSS özellik olarak değişken property tedavi etmek istiyorum Çünkü

, bunu interpole gerekir. Aksi takdirde Sass bir değişken ataması gerçekleştirecektir.