2012-01-22 3 views
7

MVC 프로젝트에서 dotLess를 사용하고 있으며 가져온 적은 파일의 url ('') 경로를 추가 할 수 없습니다.LESS 비교적 적은 수의 상대 URL 추가 방지.

나는 다음과 같은 적은 코드가 있습니다

@myvar : '../../'; 

body 
{ 
    background-image:url('@{myvar}chosen-sprite.png'); 
} 

다음 CSS를 생성 할 때 올바른 주 .less 파일에서 :

body { 
    background-image: url('../../chosen-sprite.png'); 
} 

문제는 그 난이 이동하는 경우 코드를 다른 폴더에있는 두 번째 .less 파일로 가져온 다음 기본 less 파일에서 해당 파일을 가져옵니다. 예컨대 :

@import 'myFolder/mySecondfile.less 

지금 생성 된 CSS는 다음과 같습니다

body { 
    background-image: url('myFolder/../../chosen-sprite.png'); 
} 

방지 할 수있는 방법이 있다는 것을이 표시되는 "MyFolder에"? 나는 절대 경로를 쓸 수 있다는 것을 알고있다. 그러나 이것은 사이트의 루트 (매번 테스트하는 동안 자주 발생한다)의 주소를 변경할 때를 의미 할 것이다.

감사

+0

lesspp를 사용하여 복제를 시도해 보았습니다. less는 PHP 포트이며 PHP는 제대로 작동한다고 설명했습니다. lesscss가 실제로 PHP 포트가 잘못한 방식으로 시도하지는 않았지만 저자에게 버그로 제기 할 가치가 있습니다. – cchana

답변

0

당신은 내가 혹시 이것에 대한 답을 가지고 있는지 확실하지 않습니다 @myVar: './../../'

8

에 varible을 변경하려고합니다,하지만 당신은 문자열을 탈출 할 수있다.

.body { 
    background-image: ~"url('chosen-sprite.png')"; 
} 

스타일의 전체 url 인수를 둘러싼 물결표 및 인용구를 확인하십시오. 자세한 내용은 String InterpolationEscaping Strings을 확인하십시오.

+2

나는 Jan과 같은 문제를 가지고 성공한 솔루션을 시험해 보았습니다! – jhdrn

+0

듣고 다행이라면 @jhdrn을 도왔습니다. – Josh