css - 使用条件注释共享 LESS CSS 变量

标签 css internet-explorer-7 less conditional-comments

我有一个 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 */

因此,您可以获得两个好处:

  1. 您从 ie.less 中的 styles.less 获取所有变量。
  2. 您在 IE 上只会收到一个请求(它只会加载一个样式表)。

关于css - 使用条件注释共享 LESS CSS 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7174217/

相关文章:

css - html 页面上的一个部分与其他部分重叠

jquery - 摆脱 IE 下载警告

css - 如何根据用户选择动态更改更少的变量颜色主题

html - Bootstrap 行超过 Container-Fluid

html - 如何让视频垂直居中

html - 根据 child 的高度设置 parent 的高度

php - 在我更新我的通知计数后,该框有一个额外的空间。我该如何删除它?

javascript - 脚本无法在 IE7 上加载

css - 滚动时 IE7 模态灯箱覆盖消失

css - Bootstrap 3 Grid 可以扩展吗?