Cambiamento & nbsp; per salvare la lunghezza senza cell per crollare la cella della tabella

StackOverflow https://stackoverflow.com/questions/3573329

  •  01-10-2019
  •  | 
  •  

Domanda

Sto inviando e-mail sugli ordini di cibo settimanali. Questo è praticamente significa 1, 2 o 3 tabelle. Sto cercando di eliminare qualsiasi HTML non necessario dalla fonte per salvare la larghezza di banda. Ora è rimasta una cosa:   Costa 6 byte quando il cliente non ha ordinato nulla in un giorno.

Quando cambio il   In uno spazio semplice rompe il mio tavolo.

Esiste una soluzione efficace per buttare via lo spazio non di rottura senza collassare le mie celle da tavolo?

Aggiornare:

Grazie per le risposte che tutti fanno quello che voglio dopo tutto, dovrei accettare la risposta di Joeri perché alcuni clienti di posta elettronica (Mozilla Thunderbird, Windows per esempio) Totalmente incasinato con le soluzioni di seguito.

È stato utile?

Soluzione

Il problema nel farlo è che i clienti di posta elettronica variano notevolmente. Quando si inviano e -mail HTML, dovresti sempre usare le cose che la maggior parte dei clienti capirà. NBSP (spazio non di rottura) è una cosa del genere. L'attributo CSS non sarà probabilmente non riconosciuto da alcuni clienti e Unicode probabilmente non sarà supportato.

Quindi penso che in questo caso tu sia bloccato con l'NBSP.

A proposito di entrare direttamente: le entità (come questa) esistono perché molti vecchi sistemi supportano solo ASCII a 7 bit. Lo spazio non di violazione (CodePoint 160) è oltre. C'è anche una possibilità che ti imbatterai in un sistema che non lo supporta, ma immagino che abbia a che fare con il codepage che usano.

Altri suggerimenti

Puoi provare questo, ma non funzionerà in tutti i browser/client di posta elettronica:

<table style="empty-cells: show">

Puoi aggiungere il personaggio, che è rappresentato da &nbsp;, letteralmente. È un Unicode CodePoint U+00A0. Metodi di input:

  • vi: <C-k>NB
  • Finestre: ALT+0160
  • Wikipedia
  • Perl:

    perl -i -n -p 's/&nbsp;/\x{A0}/g' email.html
    

Sebbene, come sottolinea Joeri Hendrickx nella sua risposta, entrare in personaggi oltre ASCII potrebbe letteralmente portare a problemi in tutte le posizioni della toolchain e -mail, a partire dal cliente del mittente (se ti capita di usare l'HTML come modello per un modello , User Outlook) e terminare presso il server e client della posta in arrivo del ricevitore, che lo elaborano.

Vorrei unirmi a Joeri nel suo consiglio di lasciare il &nbsp; invariato e vivi con i byte extra. Se ne hai molti, prova invece a refactor sull'HTML.

Alt+0160 produce un carattere spaziale vuoto e non di rottura:  

Prova a mantenere i dati della tabella con la stessa riga. fidati di me, funziona!

`

 <tr>

       <td width="50">&nbsp;</td>

 </tr>

`

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top