Я бы хотел начать обсуждение, чтобы получить несколько хороших идей о том, как организовать таблицы стилей в очень большом проекте с большой командой разработчиков, работающих над ним.Как организовать CSS-таблицы
Один из возможных подходов состоит в том, чтобы иметь только один лист со всеми стилями, организованными с использованием комментариев и регионов, к сожалению, даже используя однострочный подход к записи с вкладками, этот лист станет невероятно большим и даже будет иметь SVN-фиксацию, и обновления могут стать хаотичным.
Итак, мы считаем, что было бы лучше разделить стили на разных листах. Мы не уверены в том, как организовать это, поскольку у нас есть разные идеи для этого.
- Возможная Идея заключается в том, чтобы организовать для типов: colors.css, fonts.css, forms.css, ...
- Другой идея состоит в том, чтобы сгруппировать их по функциональности/поведение: navigator.css, меню .css, warnings.css, errors.css, ...
- Мы также можем организовать их по страницам: login.css, contact.css, home.css, ...
- Или даже используйте комбинацию из этих три идеи вместе.
Теперь меня беспокоит то, что мы бы предпочли не добавлять все стили на каждую страницу, так как не все страницы требуют всех стилей, и нас действительно беспокоит производительность, так как наш проект потребляется миллионами пользователей каждый день. Мы, конечно, сжимаем его позже при развертывании, но, тем не менее, мы считаем разумнее загружать только нужные на страницу.
В связи с тем, что я беспокоюсь о том, что другие разработчики не загружают стили в правильном порядке, поскольку в зависимости от страницы или группы страниц они должны загружаться в разные страницы, они могут получить эту ошибку и сделать поэтому каскадирование не удастся (представьте, что они загружают menu.css до global.css, global переопределяет некоторые стили меню !!!).
Теперь мы могли бы просто пойти на одном листе, мы могли бы просто загрузить все из них всегда, или мы могли бы использовать некоторые идеи, мы пришли к как с помощью алфавитного префикс сказать разработчикам порядок загрузки:
- a_global .css
- a_forms.css
- b_region1.css
- b_anotherregion.css
- c_page.css
Но это выглядит ужасно честным. Так что теперь мне было интересно, есть ли какая-то популярная архитектура css или там, по крайней мере, некоторые хорошие идеи, которые мы могли бы использовать для нашего проекта здесь.
Большое спасибо!
В любом случае, подумав об организации своего CSS, вы должны взглянуть на [SASS] (http://sass-lang.com/) или [LESS] (http://lesscss.org/) , они являются препроцессорами CSS, призванными сделать CSS более динамичным, организованным и продуктивным. –