За последние 24 часа нас посетили 22797 программистов и 1273 робота. Сейчас ищут 729 программистов ...

добавить правило в css таблицу

Тема в разделе "PHP для новичков", создана пользователем ureech, 17 май 2021.

  1. ureech

    ureech Активный пользователь

    С нами с:
    13 окт 2015
    Сообщения:
    49
    Симпатии:
    0
    Привет. Делаю меню. В опциях изменение стилей. Прописывать стили в шаблоне не есть гуд. Возможно ли создавать классы css на лету и записывать их в файл .css или подключать к шаблону? Теоретически вроде всё ясно. Открыть файл для чтения-записи. Составить код класса. Записать в файл. Но как то это очень затратно. Может есть способ на лету всё это делать и подключать? Или на js это лучше делать?
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.555
    Симпатии:
    1.754
    css - обычный текстовый файл, конечно можно их записывать. Ничего затратного, у вас же не ежесекундно пользователь будет менять стили.
     
  3. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    Можно и «на лету», но лучше «css-контент» кешировать в соотв. файлах.
    --- Добавлено ---
    Сделайте динамическую сборку контента, а там уже можете хоть каждый день включать/отключать кеширование.
    --- Добавлено ---
    Может, можно ограничиться в настройках тупо выбором css-файлов или шаблонов, включающих в том числе и такие файлы?
     
  4. ureech

    ureech Активный пользователь

    С нами с:
    13 окт 2015
    Сообщения:
    49
    Симпатии:
    0
    Понятно. Кеширование css и js на сайте есть и так. Думаю легче всё таки inline классы прописать. Не знаю). Буду пробовать и так и так. Спасибо.
     
  5. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    Вы, наверное, кеширование на клиенте имеете в виду. Я про серверное. Т.е. вы динамически формируете и выдаете уник. «css-файл» и попутно сохраняете его физически, чтобы при след. обращении сервер уже сам отдал этот реальный файл. При изменениях в настройке кеш чистится, т.е. файл удаляется, и снова происходит динамическое формирование, результат которого опять кешируется.
    --- Добавлено ---
    Тут клиенское кеширование тоже нужно учитывать. При каждом изменении нужно либо путь менять, либо GET-парметр (можно версионный счетчик использовать или отдельный ключ для каждой вариации файла).
     
  6. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    861
    Симпатии:
    132
    @miketomlin, в любом случае ТС тему не раскрыл, пока что опять-таки потоки бессознательного, надобно чётко определить цель/задачу )
     
  7. Максим Матвийчина

    С нами с:
    30 апр 2021
    Сообщения:
    10
    Симпатии:
    1
    Здравствуйте,

    Да, возможно записывать css классы в файл, например style.css
    Для этого сам файл необходимо подключить к вашей странице.
    Для этого добавляете данный код:

    <head>
    <link rel="stylesheet" href="styles.css">
    </head>

    > Возможно ли создавать классы css на лету

    Возможно создавать классы и на лету, но помните что файл css кешируется браузерами.
    Поэтому после каждого изменения, нужно очищать кеш браузера, или обновлять страницу страницу комбинацией клавиш Ctrl+F5 (для Chrome)

    Успехов :)


    ...--| Разработка сайтов и мобильных приложений |--...
     
  8. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    счего это

    PHP:
    1. $file = 'styles.css';
    2. $filesize= filesize($file);
    3. echo "<link rel='stylesheet' href='{$file}?v={$filesize})'>"
     
  9. RinMaker

    RinMaker Новичок

    С нами с:
    8 май 2021
    Сообщения:
    3
    Симпатии:
    0
    > Возможно ли создавать классы css на лету и записывать их в файл .css или подключать к шаблону?

    ureech, Вы хотите динамически создавать\обновлять css файл?

    Максим Матвийчина, дабы юзерам не надо было очищать кеш браузера, можно при каждом обновлении css файла менять ссылку на него (параметр ver), например:

    <link rel="stylesheet" href="style.css?ver=1333">