Я снова трачу время на мелочи. Вопрос, который я задаю себе - и теперь ВЫ - это: что такое "лучший способ" для селекторов CSS/разметки HTML?
Я избегаю классов во что бы то ни стало, оставляя HTML чистым и красивым, или я добавляю классы, где бы я хотел что-то стиль?
Например, если я хочу стилизовать различные кнопки формы на моем веб-сайте, я иду
input[type="submit"] { /* styles */ }
или добавьте класс "form-button" для всех из них и сделайте
.form-button { /*styles */ }
В этом тривиальном примере можно было бы не слишком много думать об этом, но если я хочу по-другому стилизовать третье звено из семантического, а не презентационного списка, я мог бы сделать его
.navigation ul:nth-of-type(2) a:nth-of-type(3) { /* styles */ }
вместо того, чтобы просто указать, что одна ссылка класса "different-link" и использовать
.different-link { /* styles */ }
Я понимаю, что в 2013 году все вычислительные устройства и браузеры, которые они запускают, должны быть достаточно быстрыми, чтобы технически субоптимальные селектора CSS не должны были делать каких-либо различий для конечного пользователя.
Итак, в конце концов, на самом деле возникает вопрос: "Я помешал HTML (с классами) или я помешал CSS (с длинными ветвями)?"
Любые мнения по этому поводу?