TGViewer
WebDev+ | Веб-разработка WebDev+ | Веб-разработка @webdev_plus · 7.94K subscribers
Post #719 1.44K
С помощью CSS можно использовать новую функцию sibling-index(), чтобы определить позицию элемента среди его соседей. Также доступна функция sibling-count(), которая возвращает общее количество соседних элементов.

Результаты этих функций можно использовать и в псевдоэлементах.

<div class="container">
<div></div>
<div></div>
<div></div>
...
</div>


.container div { 
border: calc(sibling-index() * 2px) solid;
opacity: calc(sibling-index() / sibling-count());
}

.container div::before {
content: counter(i) "/" counter(N);
counter-reset: N sibling-count() i sibling-index(); /* работают с текущим div */
}


Функции довольно громоздкие, поэтому можно определить кастомные функции и сократить код.

@function --N() {
result: sibling-count();
}
@function --i() {
result: calc(sibling-index() - 1); /* начинаем с нуля, а не с единицы */
}


.container div { 
border: calc(--i() * 2px) solid;
opacity: calc(--i() / --N());
}

.container div::before {
content: counter(i) "/" counter(N);
counter-reset: N --N() i --i();
}


@WebDev_Plus
More from @webdev_plus
  1. Oct 12, 2026Оптимизация SVG, краткий гайд для начинающих Часто на сайтах встречаются SVG-изображения,…
  2. Oct 12, 2026Эта библиотека позволяет запускать полноценные 3D-физические симуляции прямо в браузере. J…
  3. Oct 11, 2026Свойство shape-outside Определяет форму, вокруг которой должно обтекаться соседнее встроен…
  4. Oct 11, 2026Быстрый совет по JS: используйте Gamepad API, чтобы в реальном времени отслеживать статус…
  5. Oct 10, 2026Chrome DevTools – это не только панель для отладки, но и полноценная среда для проектирова…
  6. Oct 10, 2026Обрати внимание, что в корректном примере чипы мгновенно перемещаются на новую позицию, ко…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →