2012-09-20 2 views
25

아무 것도없는 변수를 만들려고합니다. 나는 .. 다음SASS 변수를 동일하게 설정하는 방법은 무엇입니까?

$false:null; 
$false:" "; 

- 및 -

내가 이것이다와 함께 사용하는 것을 시도하고있다 ... 나는 두 개의 변수를 사용하고

@mixin myMixin($myVariable:"", $myOtherVariable){ 
    $false:null; 
    @if $myVariable == $false { 
     //do something 
    } 
    @if $myVariable != "" { 
     //do something else 
    } 
} 

@include myMixin("", $myOtherVariable); 

을 시도 이 예에서는 두 개 이상을 가질 계획입니다.

기본적으로 빈 따옴표를 사용하지 않고도 변수를 제외 할 수있는 옵션이 있습니다. 그리고 $false: "";의 문제는 여전히 빈 따옴표가 필요하다는 것입니다. SASS에 "null/or nothing"을 지정하는 무언가가 있는지 궁금합니다. 나는 그것이 null일지도 모른다라고 생각했다. 하지만 그럴 것 같지 않습니다 ..

+1

는'Null' 참으로 * 아무것도 * 값은 없지만, 그것은 단지 3.2 이상에 존재 : HTTP : // chriseppstein .github.com/blog/2012/08/23/sass-3-2-is-released/ – cimmanon

+0

@cimmanon 정보를 제공해 주셔서 감사합니다. 기회가 생길 때마다 내 버전을 다시 확인하겠습니다. –

답변

40

null 또는 false이 작동합니다 (null는 사스의 최신 버전에 새로 추가). 귀하의 예를 들어 둘 다 작동합니다. null의 유일한 이점은 속성과 함께 사용하면 사라집니다.

@mixin myMixin($myVariable: false, $myOtherVariable: false){ 
    @if not $myVariable { 
    //do something 
    } @else { 
    //do something else 
    } 
} 

@include myMixin(false, $myOtherVariable); 
+0

해명 해줘서 고마워요 ... 당신이 NULL의 사용에 대한 내 질문에 대답했다 말할 필요도없이 그것은 문제없이 작동하는 것 같습니다. @include()에 변수를 전달하지 않고도 얻을 수 있으면 좋겠다. 그러나 maxbeaty의 게시물에 언급 한 것처럼 옵션이 아닌 것처럼 보입니다. 어쨌든, Null로 문제가 발생했을 때 Null이 더 잘 작동합니다. 다시 도움을 주셔서 감사합니다. –

+1

다시 틀립니다. :) 그것은 옵션입니다. 위의 코드를 사용하면'$ myVariable' 인수의 기본값으로'false'를 설정했습니다. 모든 인수에 대해 기본값이 설정되어 있으면 include와 함께 아무 것도 전달할 필요가 없습니다. 간단히'@include myMixin; '. 기본값이없는 인수 만 include 행과 함께 전달되어야합니다. (인수 인자는 인자 목록에서 옵션 인자 앞에 올 필요도 있습니다) –

+0

좋습니다.필요에 따라 선택 사항을 알았지 만 기본 인수를 설정할 수 있는지 몰랐습니다. 이제 믹스 인을 보는 것이 더 합리적입니다. –

-1

Sass는 null 대신 nil을 사용하는 루비로 작성되었습니다.

@mixin myMixin($myVariable, $myOtherVariable){ 
    $false: nil; 
    @if $myVariable == $false{ 
    color: inherit; 
    } @else { 
    color: $myVariable; 
    } 
} 

p { 
    @include myMixin(nil, $myOtherVariable); 
} 

.red { 
    @include myMixin(red, $myOtherVariable); 
} 

Example on jsFiddle

+0

여기에있는 것이 확실하지 않습니다. 나는 이것이 $ false로 설정 되더라도 상관없이 작동 할 것이라고 생각합니다. 예를 들어 "nil"대신 "blah"라는 단어를 사용하면 여전히 동일한 결과가 렌더링됩니다. 어쩌면 여기서 뭔가를 놓칠 수 있습니다. –

+0

'nil'을 인용 부호로 묶지 말고 문자열로 만드십시오. ('nil' 대''nil'') – maxbeatty

+5

'null'은 정확하다. 문서에는'nil'에 대한 언급이 없다. 참조 : http://sass-lang.com/docs/yardoc/Sass/Script/Null.html –

0

변수를 설정하는 '거짓'

$false: false;

+0

False는 Nothing과 거의 동일하지 않습니다. 또한 기존의 대답은 이미 거짓 시나리오를 다루고 있습니다. – cimmanon

관련 문제