В этой разметке БОЛЕЕ чем достаточно крючков, чтобы выполнить ВСЕ стили, которые вы там делали.
ИСПОЛЬЗУЙТЕ ЗНАЧЕНИЕ тегов.
Используйте классы ТОЛЬКО в том случае, если тег получает РАЗЛИЧНЫЙ стиль, чем стиль i-го брата и сестры.
Если у вас есть список информации, используйте список.
если у вас есть столбцы однородных данных, где каждая строка имеет одинаковую семантическую связь, используйте ТАБЛИЦУ.
используйте заголовки таблиц и подразумевайте ОБЛАСТЬ этих заголовков.
Если у вас есть текст, предоставляющий информацию об этой таблице или инструкции, относящиеся к ней, используйте ЗАГОЛОВОК.
Если у вас есть новый основной раздел с очевидным заголовком, ИСПОЛЬЗУЙТЕ ЗАГОЛОВОК СООТВЕТСТВУЮЩЕГО УРОВНЯ (в данном случае h2). Когда у вас есть новый подраздел с четким подзаголовком, начните этот раздел со следующего заголовка более низкого порядка.
(например, H3). Тогда вы не будете тратить время на раздувание разметки бессмысленными DIV и бесконечными расплывчатыми классами.
Аналогично, если вы не собираетесь показывать какие-то данные, не тратьте время на их отправку!
Единственная причина, по которой я использую DIV, — это основной разделитель разделов для вложенных селекторов (.picture), а два раздела, которые для макета рабочего стола будут размещены в двух столбцах.
(.content и .info) ВСЕ остальные мои теги предназначены для того, чтобы сказать, что ЕСТЬ, а НЕ то, как я хочу, чтобы они выглядели.
Я думаю, что только у .user есть отдельный класс, чтобы отличать его от своих братьев и сестер, а также у .details и .tags, чтобы отличать их друг от друга.
Я хочу стилизовать привязки внутри .tags.
Я говорю «.tags a {» в своем CSS.
Я хочу стилизовать h3 для .info вместо всех h3 на странице, я говорю «.info h3»… обычно в конечном итоге получается не больше и не меньше CSS, чем бросание классов во все, и всегда получается лишь часть разметки!
... и любой, кто говорит вам «держать селекторы плоскими» из-за «скорости рендеринга» — например, ребята из CSS Lint — говорит свою задницу.
Когда 386/40 может обрабатывать сложные таблицы за приемлемое время, жаловаться на сложные селекторы, когда портативные компьютеры работают в диапазоне ГГц, является невежественной идиотской чепухой и пропагандой небрежных привычек разработки!
Да, и хороший сценарий должен подключать разметку, а НЕ наоборот.
99% времени вы используете вкл.
событие атрибут в разметке (например, onclick) вы поощряете кликджекинг и обычно используете неряшливый код. Вот почему вкл.
событие атрибуты БЛОКИРУЮТСЯ в новых методах политики безопасности контента, когда/если вы погружаетесь в это.
https://www.w3.org/TR/CSP/
ИМХО, одна из тех вещей, которые представляют собой неприятный случай: «Ну, черт возьми, пора!» поскольку я сказал, что эти качества должны были последовать примеру дронта полтора десятилетия назад.