Селектор CSS для следующих и предыдущих элементов
Как настроить таргетинг на элемент списка отдельно, например, я хотел бы сделать:
Html:
<ul class="roundabout-holder">
<li class="roundabout-moveable-item"></li>
<li class="roundabout-moveable-item"></li>
<li class="roundabout-moveable-item roundabout-in-focus"></li>
<li class="roundabout-moveable-item"></li>
<li class="roundabout-moveable-item"></li>
<li class="roundabout-moveable-item"></li>
</ul>
Css:
.roundabout-in-focus{
font-size:1em;
}
.roundabout-in-focus.prev(),
.roundabout-in-focus.next(){
font-size:.9em;
}
.roundabout-in-focus.prev().prev(),
.roundabout-in-focus.next().next(){
font-size:.8em;
}
.roundabout-in-focus.prev().prev().prev(),
.roundabout-in-focus.next().next().next(){
font-size:.7em;
}
Это означает, что чем дальше размер окружения в центре внимания, тем меньше размер шрифта элемента списка.
Ответы
Ответ 1
Каждый следующий брат может быть представлен + .roundabout-moveable-item
, однако нет эквивалента для предыдущих братьев и сестер.
Поскольку вам нужно стилизовать следующий и предыдущий элементы относительно элемента, обозначенного как .roundabout-in-focus
, вы не сможете сделать это, используя другие методы, такие как :not(.roundabout-in-focus)
. Поэтому вы не можете сделать это, используя чистый CSS.
Если вы используете jQuery, который я предполагаю на основе обозначений .prev()
и .next()
в вашем примере, это должно быть относительно легко выполнить.