Нет. Они не являются хорошим выбором. Весь смысл CSS и, в частности, концепции класса заключается в том, чтобы описать «что» представляет собой нечто, а не «как» это должно выглядеть. Что что-то значит (то есть его семантика) и как оно выглядит (то есть его представление) - это два отдельных понятия. Факт, что что-то, скажем, меню, не изменится, если вы решите показать его синим на голубом с одной таблицей стилей и высококонтрастным черным на белом на другой таблице стилей, созданной для дальтоников.
Если вы придаете классу смысл презентации, изменение внешнего вида документа потребует внесения изменений в html веб-страницы, исключая весь смысл использования CSS как технологии, специально разработанной для предоставления и инкапсуляции презентации. Чтобы предотвратить это, альтернативой было бы иметь классы, имена которых не представляют разумную информацию (например, класс с именем bluefont, который фактически содержит директиву color: red). Следовательно, наличие «bluefont» в качестве имени является абсолютно произвольным, и здесь происходит десинхронизация с фактическим содержимым. Это могла быть случайная строка «abgewdgbcv», но тогда лучше выбрать что-то, что не связано с представлением и передает смысл: связанную с ним семантику.
И мы закрываем круг: это весь смысл занятий. См. Также этот документ на W3 .