Есть куча способов решить этот вопрос.
Одним существенным отличием от выше упомянутых будет сказать, что подобные манипуляции логичнее переложить на плечи js.
В противном случае я бы рекомендовал генерировать css средствами php целиком, подставляя нужные значения и соответствующий
header('Content-type: text/css');
Если основа задачи лежит в подмене значений в реальном времени(по мере скролла, нажатий) то это однозначно работа js, иначе, можно использовать php.
Что бы не создавать лишнюю нагрузку, стоит сразу продумать периоды когда значения генерируемого файла должны изменяться и заблаговременно подготовить статичные "кэши" стилей(файлы которые сгенерированы заблаговременно и подключены по мере необходимости).
Опять же, важным моментом является конкретизация вашей задачи. Телепатов тут нет, изложите суть, а ответ себя ждать не заставит.