Mam menu nawigacyjne, które przypisuje tablicę kolorów do elementów menu na podstawie ich głębokości w hierarchii menu/taksonomii. Na przykład, wszystkie elementy menu na najwyższym poziomie otrzymują kolor czarny, następny poziom staje się czerwony, następny poziom staje się zielony, itd., A ponieważ hierarchia idzie bardzo głęboko, chciałabym kierować je za pomocą matematyki, w pewnym sensie że css może celować w n-dziecko. Jednak nie mogę użyć n-dziecka, ponieważ te elementy kontenera ("poziom przeglądania") są dynamicznie dodawane i usuwane z DOM (nie wszystkie są w DOM w tym samym czasie), dlatego jestem celem atrybuty danych.less/css - targetowanie elementów domena z atrybutami danych o wartości (n)
Więc oto CSS:
.browse-level[data-level="1"] li a {
background: @level1;
}
.browse-level[data-level="2"] li a {
background: @level2;
}
.browse-level[data-level="3"] li a {
background: @level3;
}
.browse-level[data-level="4"] li a {
background: @level4;
}
... itd
Istnieje 8 wartości kolorów (po którym sekwencja będzie powtarzać). Czy mogę (używając LESS lub zwykłego CSS) skrócić ten kod?
Twoje pytanie jest bardzo podobny do tego: http://stackoverflow.com/questions/13554978/less- mixin-or-selector-to-change-position-based-on-sibling-index/13555372 # 13555372 – ScottS
Dzięki - dobrze wiedzieć, że ta funkcjonalność istnieje. – mheavers