Olá Marcus,
Tudo bem?
O seletor .icones-sociais li
na realidade quer dizer:
Selecione todos os elementos LI que estão abaixo na hierarquia de um elemento com classe icones-sociais
Neste caso o .icones-sociais li
não é uma classe para a tag li, mas sim uma regra que tem como alvo todos os li
que estão dentro de um elemento .icones-sociais
.
Sobre CSS não existe um jeito certo de programar, o importante é sempre tentar ser o mais eficiente no uso de seus seletores e regras para evitar efeitos colaterais.
Há uma discussão que vive na internet sobre se é o mais correto é usar ou não IDs para seletores CSS, normalmente citando performance e semântica, mas do ponto de vista prático isso faz pouca diferença.
Conhecendo bem o efeito cascata, o box-model e como o CSS calcula especifidade para definir aplicação de regra você pode programar da forma que acreditar ser melhor para o projeto que tem em mãos.
Um exemplo são as unidades de medida, você sabia por exemplo que você pode usar a unidade vw
para definir tamanho de fontes? Muitas pessoas se limitam a definir apenas width
com ela.