Sabemos que ao definir um estilo em uma folha de estilos, você pode definir um id ou uma classe, por exemplo:
Método de ID: #test{color:#333333}, chame <div id="test">content<div> na página
Método CLASS: .test{color:#333333}, chame <div class="test">content<div> na página
O id só pode ser usado uma vez em uma página e a classe pode ser referenciada várias vezes.
Alguns internautas perguntaram, parece não haver diferença entre ID e classe. Se eu usar vários IDs na página, ele será exibido normalmente no IE.
Resposta: O primeiro impacto é que ele não pode passar na verificação W3.
Em termos de exibição de página, os navegadores atuais ainda permitem que você cometa esse erro, e o uso de vários IDs idênticos pode exibir normalmente "em circunstâncias normais". Mas quando precisar usar JavaScript para controlar essa div através do id, ocorrerá um erro.
ID é um rótulo usado para distinguir diferentes estruturas e conteúdos, assim como seu nome. Se houver duas pessoas com o mesmo nome em uma sala, ocorrerá confusão;
Classe é um estilo que pode ser aplicado a qualquer estrutura e conteúdo, assim como uma peça de roupa;
Conceitualmente falando, eles são diferentes:
ID é encontrar a estrutura/conteúdo primeiro e depois definir o estilo para ela. A classe é definir um estilo primeiro e depois aplicá-lo a múltiplas estruturas/conteúdo.
Os padrões da Web esperam que todos usem hábitos rígidos para escrever código.
Por exemplo: você pode usar <b></b> para exibir negrito ou pode usar <strong></strong> para exibi-lo, mas o W3C recomenda que você use <strong> porque <strong> é mais semântico.
Se você não prestar atenção a esses detalhes e achar que isso não importa, então não há necessidade de fazer a transição para XML e não há necessidade de aprender padrões da web, porque a aplicação de padrões da web começa a partir de mudanças em esses pequenos detalhes, caso contrário não é possível usar o HTML atual.