CSS-выражения не поддерживаются нигде, кроме IE (и даже там считаются плохой идеей).
Однако на самом деле нет другого способа сделать то, что вы просите, по крайней мере, не использовать только CSS.
Единственная альтернатива - использовать Javascript, и это то, что, я думаю, вам придется сделать.
Фактически, CSS-выражения IE сами по себе являются Javascript, который допускает довольно мощные выражения, но также имеет отрицательный эффект от удаления абстракции макета и скрипта. Вот почему они недовольны, но есть случаи использования, такие как ваш, когда чистый макет требует некоторой формы выражения.
Как я уже сказал, в CSS на самом деле нет ответа для вас.
Может быть некоторая надежда на будущее, поскольку Google в настоящее время экспериментирует с некоторыми улучшениями CSS, которые включают переменные. Статья об этом здесь: http://johanbrook.com/design/css/webkit-css-variables-mixins-nesting/. Тем не менее, я не уверен, позволит ли даже это разрешить те выражения, которые вам нужны.
Так что, возможно, это то, что может нуждаться в Javascript в будущем. Это, безусловно, пока что так или иначе.