В функции calc() часто приходится использовать типовые коэффициенты. Например, 1 и -1 для зеркальных операций (т.е. инвертируем что-нибудь путём домножения и не инвертируем). Соответственно, было бы неплохо задать формулу в базовом классе, используя, например, var(--k):
transform: translateX(calc(var(--k) * var(--offset)));
А дочерние классы, где --k присваивалось бы значение, не объявлять вовсе, а просто помечать элементы стандартными классами, типа, k-1 или k-minus-1. Насколько я понимаю, в терминологии Bootstrap такие классы называются утилитами.
Ещё в функции calc() нужны разные вспомогательные значения, которые стандартами не предусмотрены. Например, индекс в родительском элементе:
https://stackoverflow.com/questions/38617025/using-n-inside-calc Или количество детей:
https://stackoverflow.com/questions/8720931/can-css-detect-the-number-of-children-an-element-has
Опять же, хорошо было бы отмаркировать элемент утилитами, чтобы потом скрипт следил за DOM'ом и обеспечивал наличие «стандартной» переменной, которой можно было бы пользоваться. Например, пометили элемент классом count-children, в элементе появилась переменная --children-number и гарантируется её правильное значение в любой момент.
Есть ли подобная библиотека, или свой велосипед писать?