Это действительно зависит от потребностей проекта и от того, каков ваш план по поддержанию CSS в будущем. Я работаю над большим проектом, в котором мне не всегда удается изменить HTML-код в шаблоне, поэтому мне требуется очень детальное управление CSS.
Я использую одну глобальную таблицу стилей и таблицу стилей на уровне шаблона, которая определяет основную область макета - столбцы, многократно используемые разделы и т. Д. Наконец, я применю специфичный для страницы лист, который применяется только к разделам которые относятся к этой странице.
Основным преимуществом этого является то, что, поскольку все происходит каскадно, я могу определять подавляющее большинство своих стилей в глобальных таблицах и на уровне шаблонов, но при этом иметь возможность переопределять отдельные правила на уровне страниц. По сути, я могу подклассифицировать свой CSS, изменяя только те части, которые мне нужно изменить. Таким образом, мне также не придется иметь дело с тоннами и тоннами уникальных имен. Обе страницы могут иметь область #left-column
, но реализовать ее можно по-разному. Думайте об этом как о полиморфизме CSS.
Недостаток этого метода в том, что он заставляет меня поддерживать достаточное количество таблиц стилей. Но с надлежащей документацией и соглашениями об именах это сработало очень хорошо.
Как правило, я нахожу, что если весь CSS хранится в одном файле (в большом проекте), он всплывает и быстро становится неуправляемым.