No HTML eu posso utilizar "id" para se referir a uma parte dele, porém sei que só pode haver um "id" com o mesmo nome/tipo, porém não entendi o porque eu usaria ele ao invés do class.
No HTML eu posso utilizar "id" para se referir a uma parte dele, porém sei que só pode haver um "id" com o mesmo nome/tipo, porém não entendi o porque eu usaria ele ao invés do class.
Oi Alexandre, tudo bem? Isso depende do caso. As vezes você precisa sobrescrever um comportamento de uma classe e nesse caso você pode chegar a usar um ID.
No geral, hoje em dia, a recomendação geral é utilizar apenas classes. IDs no entanto, são mais comuns quando precisamos fazer alguma manipulação via JavaScript, isso para garantir exatamente que só um elemento será alterado, quando for preciso.
Porém nada disso impede de se utilizar classes, entende?
Entendi, obrigado. Então o "class" é utilizado caso queria alterar uma propriedade ou varias, de normalmente vários atributos, mas quando eu quero apenas mudar algo em 1 destes atritos eu posso usar o "id" para sobrescrever o "class" e assim não precisar colocar todos os atributos do "class" no "id" e alterando apenas um elemento que eu queira, certo?
Sim, isso é possível, assim como com class também. A questão da sobrescrita leva em consideração a especificidade do seletor CSS, é feita uma continha pra saber qual regra será aplicada, se houverem dois seletores alterando a mesma propriedade.
Você pode ler sobre essa continha na especificação:
https://www.w3.org/TR/CSS2/cascade.html#specificity
A dica no geral é: Use sempre class, IDs apenas em casos especiais (E tem quem diga que nem nesses casos é pra ser utilizado).