LESS - Parent Selectors
Operator &
oznacza selektory macierzystych zagnieżdżonej zasady i najczęściej używane podczas stosowania klasy modyfikowania lub pseudo-klasę istniejącego przełącznika.
Od &
reprezentuje rodzica, można po prostu użyć & + &
:
.menu-link {
& + & {
border-left: 1px solid #000;
}
}
..which kompiluje do:
.menu-link + .menu-link {
border-left: 1px solid #000;
}
Na marginesie, &
odnosi się do cały selektor nadrzędny. Tak więc, jeśli były, aby użyć następujących:
.parent {
.menu-link {
& + & {
border-left: 1px solid #000;
}
}
}
byłoby ..To skompilować do niepożądanego wyniku:
.parent .menu-link + .parent .menu-link {
border-left: 1px solid #000;
}
Dlatego trzeba by zachować swoje selektorów prostych i używać
.menu-link {
& + & {
border-left: 1px solid #000;
}
}
Dobra odpowiedź. W przypadku zagnieżdżonych selektorów możemy użyć zmiennych do przechowywania nazwy selektora i zrobić interpolację selektora, jak [tutaj] (http://codepen.io/anon/pen/myqvbM). Oznaczałoby to, że zmiana musi nastąpić tylko w jednym miejscu. Ale jeśli jest więcej takich przypadków, to wymagałoby to więcej zmiennych i może stać się bałaganiarstwem. – Harry