LESS - Parent Selectors
L'operatore &
rappresenta i selettori controllanti di una regola nidificata e è più comunemente usato quando si applica una classe modificante o pseudo-classe per un selettore esistente.
Dal &
rappresenta il genitore, si potrebbe semplicemente usare & + &
:
.menu-link {
& + & {
border-left: 1px solid #000;
}
}
..che compila a:
.menu-link + .menu-link {
border-left: 1px solid #000;
}
Come nota a margine, &
si riferisce alla intero selettore genitore. Quindi, se si dovesse utilizzare il seguente:
.parent {
.menu-link {
& + & {
border-left: 1px solid #000;
}
}
}
..è sarebbe compilare al risultato indesiderato di:
.parent .menu-link + .parent .menu-link {
border-left: 1px solid #000;
}
Pertanto si avrebbe bisogno di mantenere i selettori semplici e utilizzare
.menu-link {
& + & {
border-left: 1px solid #000;
}
}
fonte
2015-02-08 20:10:22
Bella risposta. Nel caso di selettori annidati, potremmo usare le variabili per memorizzare il nome del selettore e fare l'interpolazione del selettore come [qui] (http://codepen.io/anon/pen/myqvbM). Ciò significherebbe che un cambiamento deve avvenire solo in un posto. Ma se ci sono più casi simili richiederebbe più variabili e potrebbe diventare disordinato. – Harry