@solascriptura

Есть ли php компилятор для css?

Не знаю правильно ли я выразился, возможно тут слово компилятор не совсем подходит, но задача стоит такая:
Нужен скрипт на php который может из нескольких css файлов собрать один, учитывая следующее:

1. Если в двух файлах есть одинаковые значения одного свойства, не повторять их дважды.
например,
если в файле style1.css
a.link {
    color: red;
    font-weight: bold;
}

и в файле style2.css
a.link {
    color: red;
}

в файле result.css должно получиться
a.link {
    color: red;
    font-weight: bold;
}

а не
a.link {
    color: red;
    font-weight: bold;
} 
a.link {
    color: red;
}


2. Если в двух файлах есть разные значения одного свойства, оставить только указанное во втором файле.
например,
в файле style1.css:
a.link {
    color: red;
    font-weight: bold;
}

в файле 2.css есть строка
a.link {
    color: green;
}

в файле result.css должно получиться
a.link {
    color: green;
    font-weight: bold;
}

а не
a.link {
    color: red;
    font-weight: bold;
} 
a.link {
    color: green;
}


3. Ну и тому подобное. Так сказать наследование.

4. Минимизация итогового css файла.

Заранее спасибо.
  • Вопрос задан
  • 271 просмотр
Пригласить эксперта
Ответы на вопрос 3
Советую cssnano (postcss).

Всё это типовые задачи для мира front-end разработки; поэтому просто используйте их инструменты.
Сегодня подобный инструментарий хорошо реализован только на JavaScript (node.js), и без его использования вы вряд ли сможете «удобно поддерживать» клиентскую часть приложения или даже обычный сайт.
Ответ написан
@BorisKorobkov Куратор тега PHP
Web developer
У меня только один вопрос: зачем все это?
1. Если хотите изначально писать структурированный CSS - используйте LESS, Sass, ZUSS или подобное.
2. А если уже есть куча разных CSS, то просто слейте их последовательно и минифицируйте. Или у вас прямо такой идеальный сайт, что надо экономить трафик на "спичках" (сотню байт)? Тогда похвастайтесь, мы поучимся у вас.
Ответ написан
Комментировать
@solascriptura Автор вопроса
Вы, пожалуй, правы. Игра не стоит свеч. Экономия скорей всего действительно будет небольшой. Просто я думал что уже есть какие-нибудь php библиотеки для этого. Думал кто посоветует, но видимо нет.

Это просто в инструментах БЭМа.. там подключается только то что нужно для проекта автоматически, насколько я понял с учетом всего что я описал выше. Думал что на php кто-то такое уже реализовал.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы