Nel mondo reale la differenza di velocità sarebbe trascurabile.
Per essere tecnico .container
sarebbe più veloce in quanto ha un numero inferiore di selettori da elaborare.
I selettori hanno un'efficienza intrinseca. L'ordine di selettori CSS meno efficaci è quindi il seguente:
- ID, , ad es.
#header
- Classe, , ad es.
.promo
- Tipo, ad es.
div
- Fratello adiacente, ad es.
h2 + p
- Bambino, ad es.
li > ul
- Discendente, * ad es.
ul a*
- universale, cioè
*
- Abilità, esempio
[type="text"]
- Pseudo-classi/-elementi, , ad es.
a:hover
Per quanto riguarda la seconda domanda:
C'è un modo per misurare le prestazioni in CSS?
Steve Souders ha eseguito un test online per misurare le prestazioni dei CSS a cui è ancora possibile accedere here.
Ci sono modi migliori per misurare le prestazioni al giorno d'oggi, ma questa è una risorsa facile e veloce con cui puoi giocare.
Prestazioni saggia, le cose come questa sono importanti o dipendono fondamentalmente dal peso del testo?
La risposta breve è "non proprio".
La risposta lunga è "dipende". Se stai lavorando su un sito semplice, non c'è davvero motivo di fare storie sulle prestazioni CSS diverse dalle conoscenze generali che puoi ottenere dalle migliori pratiche.
Se stai creando un sito con decine di migliaia di elementi DOM allora sì, sarà importante.
Direi che '.container' è più veloce di' div.container' perché utilizza un numero inferiore di byte (quindi il css viene trasferito più velocemente). Per quanto riguarda il browser, tuttavia, non lo so. – cybermonkey
Questo dipende dall'implementazione. – Oriol
Non posso confermarlo, ma credo fermamente che sia irrilevante. Il ciclo di rendering di ogni browser interroga ogni elemento rispetto a tutte le regole di stile per corrispondere a – LcSalazar