Как справиться с необходимостью изменить имена классов CSS

Я ищу стратегии людей, которые помогут справиться с неизбежной необходимостью изменить или иным образом адаптировать класс CSS для размещения новых элементов HTML. Я довольно часто оказываюсь в такой ситуации, поэтому надеюсь, что другие люди разделяют мою боль и могут дать здесь совет.

Представьте, что у вас есть таблица продуктов с красивым семантическим именем класса products . Это оформлено соответствующим образом в вашей таблице стилей. Через несколько месяцев ваш начальник просит вас создать на сайте список сотрудников, «оформленный точно так же, как список продуктов».

Здесь сразу возникает важный вопрос: как называть новое штатное расписание . Я могу придумать только следующие варианты:

  • Дайте ему также имя класса продукты . Это самое быстрое решение, но оно портит семантику. Это название не имеет особого смысла, особенно для будущих разработчиков.
  • Измените название класса на такое, которое может охватывать как продукты, так и списки сотрудников. Это свело бы на нет полезность отделения разметки от стиля, так как HTML нужно было бы изменить. Кроме того, я не могу придумать ни одного непрезентабельного имени класса, которое можно было бы применить к продуктам и списку сотрудников.
  • Введите имя нового класса и отредактируйте файл CSS так, чтобы .products {...} превратился в .products, .staff {...} и .products thead th.number {font-weight: bold} становится .products thead th.number, .staff thead th.number {font-weight: bold} и т. д. Еще одно уродливое решение, которое со временем будет только усложняться.

Как лучше всего действовать здесь?

Примечание. Я уверен, что эта проблема легко решается с помощью таких фреймворков, как LESS (я лично не использовал его), но это решение кажется мне скорее «прикрытием», чем реальным средством.

7
задан Sam Hastings 22 February 2012 в 16:56
поделиться