2012-12-12 2 views
1

scss에서 임의의 문자열을 렌더링 할 수 있습니까?임의의 문자열을 sassscript 변수에 저장 하시겠습니까?

/*source scss*/ 
$some-class: 'my-awesome-link'; 
$some-attribute: border; 
a.#{$some-class} {#{$some-attribute}-color: #000;} 

/*compiled css*/ 
a.my-awesome-link {border-color: #000;} 

그러나 나는 다음을 사용할 수 없습니다 : #{} interpolation syntax를 사용

/*source scss*/ 
$some-color: #123456; 
a {color: $some-color;} 

/*compiled css*/ 
a {color: #123456;} 

또는 선택기/속성 이름 : 당신은 속성 값을 렌더링 할 수

/*source scss*/ 
$some-css: 'text-decoration:none;color:#000'; 
a {$some-css} //breaks 
a {#{$some-css}} //breaks 

이 바닐라 문자열 처리처럼 보인다 허용할만한 사소한 것이 있습니다. 다른 구문을 간과하고 있습니까, 아니면 현재의 scss에서 가능하지 않습니까?

+0

당신이 믹스 인을 사용하여 이상이 할 이유가 있습니까 :

@mixin property-list($list) { @each $i in $list { #{nth($i, 1)}: nth($i, 2); } } $links: color red, border (1px solid); a { @include property-list($links); } 

는에 컴파일? – cimmanon

+0

@cimmanon : 스타일 시트 사용자 정의에 sass 변수를 사용하고 있으며 속성 조합을 쉽게 추상화 할 수없는 경우가 있습니다. 믹스 인으로 어떻게하면 좋을까요? 다시 말하지만, 그냥 CSS 문자열을 그대로 표현하고 싶습니다. –

+0

재사용이 가능한 일종의 라이브러리 인 경우 문제가 해결되지 않는 것 같습니다. '@ content'를 인식하는 mixins를 사용하거나 단순히 덮어 쓸 믹스 인을 사용하는 것이 더 낫습니다. 이것이 테마로하는 것이라면 나는 그런 식으로 생각하지 않을 것입니다. – cimmanon

답변

4

당신은 당신이 원하는 것을 얻을 수있는 가장 가까운이 같다 :

a { 
    color: red; 
    border: 1px solid; 
} 
관련 문제