В первую очередь он должен отображать то ГДЕ он находится.
А ваши варианты в разных методологиях верстки могут принимать разные значения. Где взять примеры хорошей верстки? тут есть развернутые ответы
@Petroveg именно если я описываю футер, я назову класс футером, если боковое меню, то боковым меню. Другой вариант, я создаю кучу стилей со свойствами, и даю их элементам независимо от того апельсин это или яблоко.
@taliban ну так я и называю яблоко яблоком, а не предметом из корзины. Яблоко может быть жёлтым, а может зелёным, но его место нахождения вообще не говорит ничего.
@Petroveg для особо хитрых:
1- класс описывает обьект, пример: класс яблоко {цвет, форма, вкус}
2- много классов универсальных, которые описывают свойства, пример: обьект + классы "красный", "круглый", "сладкий", ... получается яблоко
@taliban я насмотрелся на проекты, в которых элементы были обильно снабжены классами типа left, red и прочей гадостью. И хотя впоследствии они перестали быть и красными, и слева, оказавшись справа и серыми, классы так и оставались неизменными, взрывая мозг тем, кто пытался разобраться в структуре.
Если вы не сталкивались с проектами больше, чем 5-10 страниц, это не повод распространять свои представления на всё остальное. БЭМ не от хорошей жизни появился.
@Petroveg мне, честно, без разницы с каким говнокодом вы сталкивались, я написал человеку что есть разные методики, перечислил на чем они основываются. Если у вас блок с классом left становится справа, стоит задуматься какой код вы пишете, а не говорить что это плохой подход. Любой подход плохой, если руки из жопы, вы уж извините за резкость.
@taliban позицию, цвет фона и текста, размер шрифта — всё это категорически нельзя использовать при описании элемента. Это есть единственное, что я пытаюсь сказать.
Вы привели в пример футер. Но футер может стоять последним не только в реализации подвала страницы. Футеров могут быть десятки в структуре article, section, aside и прочих прелестей. И какими классами вы их снабдите?