2014-04-01 2 views
0

많은 곳에서 모듈 가져 오기를 포함해야하므로 scss에서 mixin 또는 함수를 만들고 싶습니다. 내가 가져올 main.scss 내 mixin.scss문자열을 반환하는 scss 함수를 만드는 데 도움이 필요합니다.

@function import-modules($import,$grid){ 
     @return $import +' modules/modulename_'+$grid ; 
    } 

, 내가

import-modules (@import,1024); 

을 가지고 있지만 그것은 나에게 오류가 발생합니다. import 문을 반환하는 함수는 어떻게 만들 수 있습니까?

내가 오류 : "가져 오기 모듈"후 잘못된 CSS : 예상 "{", "('@ 가져 오기', 1024);"이었다) 답변에 대한

감사합니다, 나는 수정을 시도 이 방법 :

CSS에서
$modulesList: 'modules/header/header_', 
'modules/news/news_', 
'modules/footer/footer_', 
'modules/follow_us/follow_us_', 
'modules/ads/ads_', 
'modules/newsletter/newsletter_', 
'modules/comments/comments_'; 

@function import-modules($grid){ 
    @each $module in $modulesList{ 
       @return $module+$grid; 
       } 

} 
@import url(import-modules(1024)); 

, 나는 참조 : @import의 URL ("모듈/헤더/header_1024");

답변

1

Sass는 임의의 문자열을 실행하지 않습니다. 파일을 가져 오려면 @import 지시문을 사용해야합니다. 그러나

@function import-modules($grid){ 
    @return 'modules/modulename_#{$grid}'; 
} 

@import url(import-modules(1024)); 

...

수입은 있지만 특정 제한, # {} 보간을 포함 할 수있다. 변수를 기반으로 Sass 파일을 동적으로 가져올 수는 없습니다. 보간법은 CSS 가져 오기에만 사용됩니다. 따라서 url() 가져 오기에서만 작동합니다.

출처 : http://sass-lang.com/documentation/file.SASS_REFERENCE.html#import

+0

수정 된 코멘트를 확인하시기 바랍니다. 기본적으로 가져 오기를 중지하고 가져 오기 문을 인쇄하기 시작했습니다. – tv4free

+0

업데이트 된 답변을 확인하십시오. – cimmanon

관련 문제