2014-11-09 5 views
1

변수가 null이 아닌 경우 div에 글꼴 패밀리를 넣으려고합니다. 내 적은 코드 내가 CSS에서 얻을변수가 비어 있지 않은 경우 조건 LESScss

div.content { 
& when (isstring(@contentFont)) { 
     font-family: @contentFont; 
    } 
} 

출력 스타일이 div.content 신청되지 않으며,

div.content when (isstring(@contentFont)) { 
    font-family: Abel; 
} 

내 문제입니다, 내가 잘못하고있는 무슨 확실하지 않다. 어떤 도움이라도 대단히 감사하겠습니다.

+0

당신이 당신이 CSS에서 얻을 출력 하시겠습니까? 변수가 null이 아니고 문자열 값을 가지면'when ...'부분이 출력에 전혀 나오면 안됩니다. – Harry

+0

귀하의 게시 된 덜 잘 보인다 : [working demo] (http://codepen.io/anon/pen/azoENG). 그'when' 문법이 소개되었을 때 LESS> = 1.5.0의 버전을 사용하고 있습니까? Harry가 말했듯이, 컴파일 된 CSS가 아니기 때문에 LESS를 CSS로 올바르게 컴파일하고 있습니다. . – Shai

+0

@Harry 네, 그게 제가 혼란스러워하는 것입니다. 나는 언제'css '상태에 빠지게 되나요? – devdarsh

답변

1

의견에서 언급했듯이 lessphp의 0.4.0 버전을 사용하고 있습니다. 사용하려는 the shorthand guard (when) syntax을 지원하지 않는 것 같습니다.

그러나 does support guards on mixins처럼 보입니다.

이처럼 믹스 인이 믹스 인의 사용에 코드를 분할하십시오 :

/* the mixin */ 

.fontIfString(@font) when (isstring(@font)) { 
    font-family: @font; 
} 

/* usage */ 

@contentFont: "hello"; 

div.content { 
    .fontIfString(@contentFont); 
} 
관련 문제