IDs

Falando semanticamente, nós deveríamos usar a ID em um elemento que só apareça uma vez. E deveríamos usar classe quando aparecem várias vezes.

Entretanto, as IDs têm uma ordem de magnitude maior do que as classes, o que se torna problemático quando queremos sobrescrever um estilo.

Para demonstrar o problema, vamos sobrescrever a cor de um elemento de vermelho para azul, usando uma ID.

O HTML ficaria assim:

<div id="modulo" class="modulo-sobreposto">

E o CSS:

#modulo {
  color: red;
}

.modulo-sobreposto {
  color: blue;
}

O elemento vai ser vermelho embora a classe de sobreposição declare azul. Vamos consertar isso trocando a ID por uma classe:

<div class="modulo modulo-sobreposto">

E o CSS:

.modulo {
  color: red;
}

.modulo-sobreposto {
  color: blue;
}

Agora o elemento está azul e o problema foi resolvido.

Enquanto usar IDs para estilos seja problemático, nós ainda podemos utilizá-las de outra forma. Por exemplo, nós certamente vamos usá-las para:

Conclusão

Use IDs quando você queira ativar eventos comportamentais particulares para navegadores e para tecnologia de acessibilidade. Porém evite usá-las como ganchos para estilos.

Capítulos

  1. Introdução
  2. Semântica
  3. Reuso
  4. IDs
  5. Convenções
  6. Módulos
  7. Estados
  8. Modificadores
  9. Versionamento
  10. Javascript
  11. Organização
  12. FAQs