Non c’è spazio visibile tra l’emoji e il testo, sebbene lo spazio sia presente nel codice HTML.
È una limitazione del tag <code><kbd></code>? Esiste un modo elegante per risolverlo o dovremmo affidarci a soluzioni “hacky” come <code> </code> o <code>ㅤ</code> ecc.?
Una soluzione è aggiungere alcuni valori per la proprietà white-space, come pre-wrap, ma causerà problemi se abbiamo più interruzioni di riga all’interno di <kbd>.
Diventerebbe:
Un’alternativa sarebbe aggiungere automaticamente margini sinistro e/o destro all’emoji se non è il primo o l’ultimo elemento.
Questi margini forzati sarebbero accettabili? È più carino e aumenta la leggibilità, ma sarà impossibile per l’utente non avere un margine tra l’emoji e del testo (per quanto mi riguarda, sarei felice dato che vedo il margine forzato come un vantaggio).
Penso che possiamo usare la proprietà gap per questo? il problema è che cambiare kbd per usare flexbox ha rimosso qualsiasi spazio naturale tra gli elementi interni:
kbd {
gap: 0.5em;
}
produce:
Questo aggiungerebbe spazio tra qualsiasi elemento HTML all’interno del tag KBD e non richiederebbe alcuna eccezione per first/last-child.