Afinal, usar ou não seletores IDs no css ?
Eu uso. #prontofalei. Lógico que uso, e vou continuar usando.
Eu tenho motivos para usar. Identifico os elementos únicos no meu documento com ID.
Eu não uso IDs por performance
É trabalho das engines dos browsers deixarem os seletores rápidos, tanto que hoje em dia usar classes ou id no css, é praticamente a mesma coisa em termos de performance.
Saber disso é um alívio, pois podemos usar classes livremente, mas isso não quer dizer que devemos parar de usar IDs.
Eu sei usar a cascata
Outro argumento que não faz sentido é dizer que usar seletores IDs faz com que vc brigue por especificidade. Oras, veja bem: usar ID não significa que vc não sabe usar mais nada.
Eu não uso declarações do tipo #menu li, no meu css, mas sim: .menu-item, e ai fica:
<ul id="menu">
<li class="menu-item">Item 1</li>
<li class="menu-item">Item 2</li>
<li class="menu-item">Item 3</li>
</ul><!-- #menu -->
A especificidade que uso nos meus arquivos css não passa de 1,1,0 (#id .class). Sendo que a especificidade que mais uso é 0,1,0 (.class) e 0,2,0 (.class .class).
Então usar IDs com moderação, com o propósito para o qual foi inventado, não te atrapalha em nada com a cascata ou com a especificidade.
Referências contra
Encontrei esses 2 links “famosos” sobre por que vc não deveria usar seletores ID no teu css.
http://screwlewse.com/2010/07/dont-use-id-selectors-in-css/
Referências a favor
E felizmente, também encontrei este outro, dizendo pq vc não deveria se preocupar com isso.
http://2002-2012.mattwilcox.net/archive/entry/id/1054/
They are also, oddly enough, perfectly correct to use as long as they’re only ever one instance of that ID on any given page.