我有一个 LESS 样式表 styles.less
,其中包含一些我需要在我的 ie7.css
样式表中访问的变量,它是使用条件注释加载的。
考虑到这些是完全独立的样式表,并且考虑到我必须将 ie7.css
转换为 ie7.less
,我是否可以制作这些 CSS两个样式表中可用的变量?
即我希望能够执行以下操作:
# styles.less, always loaded
@labelwidth: 150px;
# ie7.less, sometimes loaded
label{ margin-left: @labelwidth; }
最佳答案
这样做的最佳方式是只使用两种不同的样式表:一种用于每个人,另一种用于 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 */
因此,您可以获得两个好处:
- 您从
ie.less
中的styles.less
获取所有变量。 - 您在 IE 上只会收到一个请求(它只会加载一个样式表)。
关于css - 使用条件注释共享 LESS CSS 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7174217/