2012-01-22 8 views
7

私はMVCプロジェクトでdotLessを使用しており、インポートされたlessファイルからurl( '')パスを追加できません。LESS相対URLを追加しないようにしましょう

私は、次の以下のコードがあります。

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

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

次のCSSを生成するときに正しいメイン.lessファイル、中:

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

問題は、私はこれを移動する場合コードを別のフォルダの2番目の.lessファイルにコピーして、そのファイルをメインのlessファイルからインポートします。例えば:

@import 'myFolder/mySecondfile.less 

今生成されたCSSは次のようになります。

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

が表示されているから、その "MYFOLDER" を防ぐために、どのような方法がありますか?私は絶対パスを書くことができますが、それはサイトのルート(毎回テスト中に発生する)のたびにアドレスを変更することを意味します。

おかげ

+0

私はlessphpを使ってこれを複製しようとしました。これはlessの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

関連する問題