Recentemente ho installato un pacchetto csslint per il mio editor di testo Atom. Continuo a ricevere degli avvertimenti che dicono "Non usare ID nei selettori". Ho trovato questo strano visto che ho sempre utilizzato gli ID nei selettori in CSS e non ho mai incontrato problemi di codifica o sintassi che li usavano.
In StackOverflow, ho trovato post, come questo , affermando che non dovrei usare gli ID perché hanno priorità sulle classi. Tuttavia, ho trovato un altro post che afferma che dovrei usare gli ID perché hanno priorità sulle classi. Capisco entrambi questi post, ma non so ancora se dovrei continuare a usarli o meno.
Diciamo che ho questo codice come esempio:
HTML
<div id="opening-subject-container">
<div class="subject"></div>
<div class="subject"></div>
<div class="subject"></div>
</div>
<div id="body-subject-container">
<div class="subject"></div>
<div class="subject"></div>
<div class="subject"></div>
</div>
CSS
.subject {
width: 100%;
height: 20px;
}
#opening-subject-container .subject {
background-color: red;
}
#body-subject-container .subject {
background-color: blue;
}
dove voglio che il primo subjects
nel contenitore di apertura sia rosso e il restante subjects
nel contenitore del corpo sia blu.
Se non dovessi mai usare ID nei selettori CSS, cosa dovrei usare invece?
Grazie per il consiglio di tutti. Ho deciso di continuare a utilizzare gli ID poiché sono convenienti e sono in grado di tenere traccia di quando dovrei usare un ID e quando no. Mi sono stancato dei messaggi di avviso nella lan, quindi ho appena cambiato il codice sorgente e cancellato alcune regole che visualizzano avvertimenti come questo.