Select N 个与所选元素相关的下一个兄弟姐妹(附有唯一 class)使用 CSS(LESS)

Select N next siblings in relation to the selected element (with unique class attached) using CSS (LESS)

我有下面的 HTML 代码。比方说,我可以通过单击每个跨度来附加 selected-day class。我正在尝试 select 接下来的 6 个兄弟姐妹,从具有 class selected-day 的元素开始。 这是我想出的:

#calendar span.day.selected-day {
  background-color: red;
  ~ span:nth-child(n + 6):nth-child(-n + 15) {
    background-color: red;
  }
}
<div id="calendar">
 <span class="day">1</span>
 <span class="day">2</span>
 <span class="day">3</span>
 <span class="day">4</span>
 <span class="day">5</span>
 <span class="day selected-day">6</span>
 <span class="day">7</span>
 <span class="day">8</span>
 <span class="day">9</span>
 <span class="day">10</span>
 <span class="day">11</span>
 <span class="day">12</span>
 <span class="day">13</span>
 <span class="day">14</span>
 <span class="day">15</span>
 <span class="day">16</span>
</div>

虽然它在开头正确突出显示了 selected 天:

每当我更改 selection 时,它都不遵循:

是否有任何正确的方法总是 select 与具有给定 class 的元素相关的下一个 6 兄弟?

它看起来并不优雅,但您可以简单地添加多个选择器。由于我不使用 less 我用原生 css

编写示例
#calendar span.day.selected-day + span,
#calendar span.day.selected-day + span + span,
#calendar span.day.selected-day + span + span + span,
#calendar span.day.selected-day + span + span + span + span,
#calendar span.day.selected-day + span + span + span + span + span,
#calendar span.day.selected-day + span + span + span + span + span + span {
    background-color: red;
}

编辑:我在 LESS 中尝试过

#calendar span.day.selected-day {
  background-color: red;
  + span,
  + span + span,
  + span + span + span,
  + span + span + span + span,
  + span + span + span + span + span,
  + span + span + span + span + span + span
  {
    background-color: red;
  }
}