ureech
Привет. Делаю меню. В опциях изменение стилей. Прописывать стили в шаблоне не есть гуд. Возможно ли создавать классы css на лету и записывать их в файл .css или подключать к шаблону? Теоретически вроде всё ясно. Открыть файл для чтения-записи. Составить код класса. Записать в файл. Но как то это очень затратно. Может есть способ на лету всё это делать и подключать? Или на js это лучше делать?
mkramer
css — обычный текстовый файл, конечно можно их записывать. Ничего затратного, у вас же не ежесекундно пользователь будет менять стили.
miketomlin
Можно и «на лету», но лучше «css-контент» кешировать в соотв. файлах.
— Добавлено —
Сделайте динамическую сборку контента, а там уже можете хоть каждый день включать/отключать кеширование.
— Добавлено —
Может, можно ограничиться в настройках тупо выбором css-файлов или шаблонов, включающих в том числе и такие файлы?
ureech
Понятно. Кеширование css и js на сайте есть и так. Думаю легче всё таки inline классы прописать. Не знаю). Буду пробовать и так и так. Спасибо.
miketomlin
Вы, наверное, кеширование на клиенте имеете в виду. Я про серверное. Т.е. вы динамически формируете и выдаете уник. «css-файл» и попутно сохраняете его физически, чтобы при след. обращении сервер уже сам отдал этот реальный файл. При изменениях в настройке кеш чистится, т.е. файл удаляется, и снова происходит динамическое формирование, результат которого опять кешируется.
— Добавлено —
Тут клиенское кеширование тоже нужно учитывать. При каждом изменении нужно либо путь менять, либо GET-парметр (можно версионный счетчик использовать или отдельный ключ для каждой вариации файла).
don.bidon
@miketomlin, в любом случае ТС тему не раскрыл, пока что опять-таки потоки бессознательного, надобно чётко определить цель/задачу )
Максим Матвийчина
Здравствуйте,
Да, возможно записывать css классы в файл, например style.css
Для этого сам файл необходимо подключить к вашей странице.
Для этого добавляете данный код:<head>
<link rel=»stylesheet» href=»styles.css»>
</head>> Возможно ли создавать классы css на лету
Возможно создавать классы и на лету, но помните что файл css кешируется браузерами.
Поэтому после каждого изменения, нужно очищать кеш браузера, или обновлять страницу страницу комбинацией клавиш Ctrl+F5 (для Chrome)Успехов
…—| Разработка сайтов и мобильных приложений |—…
Artur_hopf
счего это
PHP:
$file = ‘styles.css’; echo «<link rel=»stylesheet» href=»https://php.ru/forum/threads/dobavit-pravilo-v-css-tablicu.92517/{$file}?v={$filesize})»>»
RinMaker
> Возможно ли создавать классы css на лету и записывать их в файл .css или подключать к шаблону?
ureech, Вы хотите динамически создаватьобновлять css файл?
Максим Матвийчина, дабы юзерам не надо было очищать кеш браузера, можно при каждом обновлении css файла менять ссылку на него (параметр ver), например:
<link rel=»stylesheet» href=»style.css?ver=1333″>