Я пишу html, используя обычно по одному классу на один логический блок сайта. Соответственно все дочерние элементы я выбираю селекторами типа: '.block>div:nth-child(2)>p:last-child'. В последнее время начал задуматься правильно ли использовать такие длинные селекторы, или лучше добавлять в html больше классов и искать по ним?
'.block>div:nth-child(2)>p:last-child'. В последнее время начал задуматься правильно ли использовать такие длинные селекторы, или лучше добавлять в html больше классов и искать по ним?
Советую прочитать книгу Кит Грант: CSS для профи - там отлично описываются принципы каскадности, которые нужны. Т.к на большинство сайтов без слез нельзя смотреть. и плюс БЭМ ответом выше.
Чем меньше каскада, тем лучше. В большинстве случаев. https://habr.com/ru/post/256109/ - ссылка на статью, где описываются самые популярные CSS-методологии организации кода. Подходы разные, но изучив все, можно понять, в каких ситуациях как поступить.
Никогда не используйте обращения напрямую к тегам. Нужно знать как работает браузер. Если Вы пишете селектор вида .text .link a то браузер берет все теги а и начинает их фильтровать справа на лево.