2011-08-24 42 views
2

我有一个不太样式styles.less有一些变数,我需要在我的ie7.css样式表,这是使用条件注释加载访问。与有条件的意见分享LESS CSS变量

鉴于这些都是完全独立的样式表,并且假设我必须将ie7.css转换为ie7.less,我是否可以使这两个样式表中的这些CSS变量可用?

即我希望能够做到像下面这样:

# styles.less, always loaded 
@labelwidth: 150px; 

# ie7.less, sometimes loaded 
label{ margin-left: @labelwidth; } 

回答

7

这样做的最好的办法是只使用两种不同的样式:一个适用于所有人,一个IE浏览器,其中包括大家的。因此,在HTML中,使用智能条件注释它会是什么样子:

<!--[if gt IE 7]><!--> 
    <link rel="stylesheet" href="styles.less" /> 
<!--<![endif]--><!--[if lt IE 8]> 
    <link rel=stylesheet href="ie.less"> 
<![endif]--> 

而且在ie.less可以导入styles.less

@import url(styles.less); 

/* Your styles for IE */ 

所以,您将获得两方面的好处:

  1. 你从styles.less获得ie.less中的所有变量。
  2. 在IE上只有一个请求(它只加载一个样式表)。
+0

时尚解决方案 - 谢谢! – sscirrus