2016-11-17 1 views
1

Я хочу, чтобы получить что-то вродеУправление гнездящихся в LESS

.classA, .classB, .classC, .classD, .classE { 
    color: white; 
} 

.classA .classI, .classB .classI, classC .classI { 
    background: red; 
} 

это возможно что-то вроде

.classA, .classB, .classC { 
    color: white; 
    .classI { 
    background: red; 
    } 
} 

класса D и Е не следует Geht классу I.

с надеждой вы знаете, что я имею в виду

+0

Что вы имеете в виду, не должен получить класс? Вы имеете в виду, что селектора '.classC .classI' и' .classD .classI' не должны выводиться на выходе? – Harry

+0

'.classA' -' .classD' должен быть просто белым текстом, без красного фона, поэтому 'classA' to 'classC' должен иметь такой синтаксис, как' .class A .class' и classD просто '.classD'. – Sukrams

ответ

2

Для вашего случая вы не должны использовать .classD и .classE на верхнем уровне, потому что вложенный селектор не применяется ко всем из них.

Вы должны использовать только .classA, .classB, .classC, а затем использовать :extend для двух других.

.classA, .classB, .classC { 
    color: white; 
    .classI { 
    background: red; 
    } 
} 
.classD, .classE { 
    &:extend(.classA); 
} 

При компиляции это приведет к следующему CSS:

.classA, .classB, .classC, .classD, .classE { 
    color: white; 
} 
.classA .classI, .classB .classI, .classC .classI { 
    background: red; 
} 
0

Да вот так:

.classA { 
    color: white; 
    &.classI { 
    background: red; 
    } 
} 
+0

Извините, как это отвечает на вопрос? – Harry