Если вы действительно хотите использовать переменные S CSS, я могу придумать один способ.
Вам нужно будет сгенерировать файл S CSS, используя PHP перед его компиляцией.
Давайте представим, что вы получили этот массив из базы данных:
$variables = [
'primaryColor' => 'red',
'secondaryColor => 'blue',
];
Вы можете использовать эти данные для создания файла S CSS только с переменными.
$scss = '';
foreach ($variables as $name => $value) {
$line = sprintf('$%s: %s;', $name, $value) . PHP_EOL;
$scss .= $line;
}
file_put_contents('/path/to/scss/directory/_variables.scss', $scss);
В результате этот файл (_variables.scss
):
$primaryColor: red;
$secondaryColor: blue;
Теперь импортируйте этот файл в основной таблице стилей S CSS.
@import 'variables';
.container {
background-color: $primaryColor;
color: $secondaryColor;
}
, что приведет к следующему CSS при компиляции:
.container {
background-color: red;
color: blue;
}
Единственная проблема заключается в том, что вам придется повторно -компилировать все S CSS, если вы измените значение. Вы можете использовать Leafo s cssphp, чтобы сделать это на лету: https://leafo.net/scssphp/