如何使用Less在另一个类中应用连接类?

时间:2011-09-28 09:33:11

标签: less

假设我有以下Less设置:

.box {
 border: 1px solid #333;
 &.error {
  background-color: Red;        
 }
}

如果我想声明另一个应用完整样式.box.error的类,例如.error-box,那么正确的语法是什么?

如果我使用:

.error-box {
 .box.error;
}

我得到的只是红色背景,没有边框。我尝试了很多不同的组合,但我总是遇到语法错误。

1 个答案:

答案 0 :(得分:16)

我尽量插入你的东西:

.box {
   border: 1px solid #333;
   &.error {
      background-color:red; 
   }
}

.error-box {
    .box;
}

并且CSS输出是这样的:

.box {
  border: 1px solid #333;
}
.box.error {
  background-color: red;
}
.error-box {
  border: 1px solid #333;
}
.error-box.error {
  background-color: red;
}

您是否希望.error-box类单独接收这两种样式?我能想到的唯一方法就是:

.error-bg {
    background:red;
}

.box {
    border:1px solid #333;
    &.error {
        .error-bg;
    }
}

.error-box {
    .box;
    .error-bg;
}