2012-01-22 16 views
7

Sto usando dotLess su un progetto MVC e non riesco ad aggiungere percorsi url ('') da file importati di meno.MENO Prevenire meno dall'aggiungere l'url relativo

Ho il seguente codice di meno:

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

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

che genera il seguente CSS quando nel file .less principale, che è corretto:

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

Il problema è che se mi muovo questo codice in un secondo file .less su una cartella diversa e quindi importa quel file dal file meno principale. Per esempio:

@import 'myFolder/mySecondfile.less 

Ora il CSS generato assomiglia a questo:

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

Esiste un modo per impedire che "myFolder" venga visualizzato lì? So che potrei semplicemente scrivere il percorso assoluto, ma ciò significherebbe cambiare l'indirizzo ogni volta che si trova la radice del sito (cosa che accade spesso durante i test).

Grazie

+0

Ho provato a replicare usando lessphp, la porta di php di meno, e ha funzionato il modo in cui hai descritto che ti piacerebbe che funzionasse. Non l'ho provato nel modo in cui lesscss effettivamente lo fa, che la porta php ha sbagliato, ma potrebbe valer la pena sollevarlo come un bug con l'autore. – cchana

risposta

0

si dovrebbe cercare di cambiare il varible in @myVar: './../../'

8

non sono sicuro se mai ottenuto una risposta per questo, ma si poteva sfuggire la stringa.

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

Si noti la tilde e la citazione che circonda l'intero argomento URL dello stile. Se vuoi saperne di più, consulta String Interpolation e Escaping Strings.

+2

Ho avuto lo stesso problema di Jan e ho provato la soluzione con successo! – jhdrn

+0

Felice di sentirti ti ha aiutato @jhdrn – Josh