Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Less 在更少的时间内有两个类作为不同级别的父选择器?_Less - Fatal编程技术网

Less 在更少的时间内有两个类作为不同级别的父选择器?

Less 在更少的时间内有两个类作为不同级别的父选择器?,less,Less,我需要这个CSS: .class-1.class-a .target { background: red; } .class-1.class-b .target { background: blue; } 我用更少的钱就能很好地工作 .target { .class-1.class-a & { background: red; } .class-1.class-b & { background: blue; } } 然而,我的文章

我需要这个CSS:

.class-1.class-a .target {
  background: red;
}

.class-1.class-b .target {
  background: blue;
}
我用更少的钱就能很好地工作

.target {

  .class-1.class-a & {
    background: red;
  }

  .class-1.class-b & {
    background: blue;
  }
}
然而,我的文章能写得更简洁吗?写了两遍第一课似乎很遗憾。我试过这个:

.target {

  .class-1 & {
    &.class-a {
      background: red;
    }

    &.class-b {
      background: blue;
    }
  }
}
还有:

.target {

  .class-1 & {
    .class-a & {
      background: red;
    }

    .class-b & {
      background: blue;
    }
  }
}

如果您将其修改为:

.target {
  .class-1 & {
    .class-a& {
      background: red;
    }
    .class-b& {
      background: blue;
    }
  }
}
它会起作用的

请注意,相同级别的类的顺序并不重要,因此生成的
.class-a.class-1.target
等于所需的
.class-1.class-a.target

(我没有提到,尽管通常避免重复的想法是有缺陷的。所有这些神秘的符号和括号链使得代码与初始代码甚至纯CSS本身相比完全不可读)