Vorrei citare la documentazione ufficiale CSS | MDN per riferimento futuro quando esaminerò le differenze tra ciascuno:
INIZIALE
La parola chiave CSS iniziale applica il valore iniziale di una proprietà a un elemento. È consentito su ogni proprietà CSS e fa in modo che l'elemento per il quale è specificato utilizzi il valore iniziale della proprietà.
Quindi secondo il tuo esempio:
em {
color:initial;
}
<p style="color:red!important">
this text is red
<em>
this text is in the initial color (e.g. black)
</em>
this is red again
</p>
Notare come la proprietà iniziale mantiene l' iniziale la colorproprietà dell'elemento.
NON SETTATO
La parola chiave CSS non impostata è la combinazione delle parole chiave iniziali ed ereditate. Come queste altre due parole chiave a livello di CSS, può essere applicata a qualsiasi proprietà CSS, inclusa l'abbreviazione CSS all. Questa parola chiave ripristina la proprietà al suo valore ereditato se eredita dal suo genitore o al suo valore iniziale in caso contrario. In altre parole, si comporta come la parola chiave inherit nel primo caso e come la parola chiave iniziale nel secondo caso.
Quindi secondo il tuo esempio:
em {
color:unset;
}
<p style="color:red!important">
this text is red
<em>
this text's color has been unset (e.g. red)
</em>
this is red again
</p>
Nota come la proprietà unset reimposta semplicemente la colorproprietà dell'elemento.
IN CONCLUSIONE
L'idea è abbastanza semplice, ma in pratica consiglierei cautela quando si tratta di compatibilità cross browser per entrambe le proprietà CSS ... questo è da oggi.