2014-03-25 60 views
-1

下面的mixin没有编译成CSS,我找不出原因。它不会给出任何错误。什么不是用这个Mixin编译?

CSS输出是here

@mixin calc-height($element, $percentage, $pixels) { 
    $element: -moz-calc(#{$percentage} - #{$pixels}); 
    $element: -webkit-calc(#{$percentage} - #{$pixels}); 
    $element: -o-calc(#{$percentage} - #{$pixels}); 
    $element: calc(#{$percentage} - #{$pixels}); 
} 

.white-triangle { 
    width: 0; height: 0; 
    border-top: 30px solid transparent; 
    border-bottom: 30px solid transparent; 
    border-right: 20px solid white; 
    position: absolute; 
    @include calc-height("top", "50%", "15px"); 
} 

回答

1

哦,我想通了。你只需要像这样调用元素变量:

@mixin calc-height($element, $percentage, $pixels) { 
    #{$element}: -moz-calc(#{$percentage} - #{$pixels}); 
    #{$element}: -webkit-calc(#{$percentage} - #{$pixels}); 
    #{$element}: -o-calc(#{$percentage} - #{$pixels}); 
    #{$element}: calc(#{$percentage} - #{$pixels}); 
} 
+0

'SASS'实际上可以接受它们,但它仍然不能编译mixin。 –

+0

经过测试,你是对的。在您的示例测试中,顶部被省略。如果sass只是在没有整个“#{}”语法的情况下工作,那会很好。 – Josh