1

所以我有一点少

#footer {
    ul {
        // stuff
    }
    li {
        // stuff
    }
}

一切都很好地包含在#footer 中,但是说我想为#footer 添加前缀。我如何在页脚前面加上 .ie6 或 .ie7 之类的类,但在 #footer 的“封闭”范围内?

例如,我想这样做(观察伪语法>.ie6,>.ie7):

#footer {
    <.ie6, <.ie7 {
        // ie6/7 stuff
    }
    ul {
        // stuff
    }
    li {
        // stuff
    }
}

并让它生成这个:

.ie6 #footer,
.ie7 #footer {}

#footer {}
#footer ul {}
#footer li {}

知道如何用 Less 来实现这一点吗?

4

2 回答 2

2

我不相信可以将课程放在 之前#footer,除非您将所有内容都包裹在其中.ie6/7而不是#footer

LESS 网站显示了以下示例:

#header        { color: black;
  .navigation  { font-size: 12px }
  .logo        { width: 300px;
    &:hover    { text-decoration: none }
  }
}

我认为这是实现与您想要的类似的唯一方法,所以:

    #footer {
    .ie6{
        // ie6 stuff
    }
    .ie7{
       //ie7 stuff
    }
    ul {
        // stuff
    }
    li {
        // stuff
    }
    }

将在 ID 之后生成类,我似乎无法找到一种方法来实现你想要的,而不将所有内容都嵌套在.ie6/7

于 2011-05-15T19:10:13.123 回答
2

我认为您可能对此感兴趣:https ://github.com/cloudhead/less.js/pull/268#issuecomment-1207479

在 master less.js 中还不可能实现您想要做的事情。但是一个叫 James Foster 的人将它分叉并添加了这个功能。

例子:

#box {
    #other-box {
        margin: 10px 0 0;

        .ie7 & {
            margin: 5px 0 0;
        }
    }
}
于 2011-05-24T13:24:28.017 回答