2012-05-22 50 views
12

我在使用LESS作为我的网站的样式表时面临一个问题。就个人而言,我宁愿在CSS中使用相对路径而不是绝对路径(只有我的习惯),但现在当我使用LESS和导入功能时,我遇到了一个问题,如下所示。相对路径较少的CSS背景

我有一个main.less文件在根文件夹

@import "inc/inc.less"; 

和在文件夹中的文件inc.lessinc

.homeBgr { 
    background: url('icons/Home.gif'); 
} 

图像0​​是在文件夹/root/inc/icons

- main.less 
     - inc 
     - inc.less 
     - icons 
      - Home.gif 

lessc输出

.homeBgr { 
    background: url('icons/Home.gif'); 
} 

然而,我的期望是

.homeBgr { 
    background: url('inc/icons/Home.gif'); 
} 

如果我使用less.js作为客户端的编译器,我得到的输出符合市场预期,但如果我使用lessc,我不知道。

有没有人有同样的问题,并有解决方案?或者真的,关于如何使这个工作的任何建议。提前致谢。

回答

4

你必须使用.less的转义功能。它看起来像这样。萤火虫它或使用chromes萤火虫喜欢的东西检查路径,如果这不起作用,你需要调整到根文件夹。你至少可以在逃脱之后调整它。

background: ~"url('inc/icons/Home.gif')"; 
+0

我认为这样会让我或客户感到困惑,因为相对路径不是意思(不涉及'inc.less'文件) –

2

而不必在/ INC根main.less和其他少的文件,把你所有的减档变成“CSS”,“风格”或“少”的文件夹。然后,您可以通过执行“../icons/home.gif”来使用图像的一致相对路径。

1

相对图像路径与生成的CSS文件相关,而不是与LESS文件相关。