Per la generazione di report HTML, i CSS devono essere inseriti in un foglio di stile o scritti nel file html?

1

Sto scrivendo un generatore di report per uno strumento di automazione.

In questo momento ho un file html del modello di report che viene letto dal generatore e i risultati vengono compilati dallo strumento per essere scritti in un altro file html.

Suppongo che il vantaggio di utilizzare il tag <style type="text/css"> all'interno del file html sia che il report può essere copiato (o inviato via email) come un singolo file, mentre il suo collegamento a un foglio di stile richiederebbe che il foglio di stile fosse copiato insieme al file html. Un file del foglio di stile salverebbe una piccola quantità di spazio, ma non sono sicuro che sia davvero una giustificazione sufficiente per usarlo. Suppongo che durante la scrittura degli stili css sarebbe più semplice collegarlo a un foglio di stile, quindi non devo generare un nuovo rapporto per visualizzare le mie modifiche su più file di report già generati.

Questi file di report HTML non saranno ospitati su un sito Web, quindi non è necessario prendere in considerazione il caching. È probabile che il rapporto venga visualizzato solo una o due volte e quindi cancellato o archiviato. Il file del rapporto può essere generato automaticamente in una cartella Temp o generato manualmente in un percorso specificato dall'utente.

Sarebbe meglio scrivere il CSS in un foglio di stile separato o scriverlo direttamente all'interno del file di report HTML generato (in realtà tutti gli stili CSS sono scritti nel file modello)?

    
posta user1071777 22.10.2014 - 17:52
fonte

1 risposta

5

In un contesto di pubblicazione web, la scelta del foglio di stile in un file separato è MOLTO preferita. Ciò porterà a un migliore comportamento di caching nel browser e nel middleware in-Web, pertanto offre prestazioni molto migliori (e impone un carico inferiore su tutti i sistemi coinvolti). Vi sono anche altri vantaggi (ad es. Modularità, versioning, ...).

Ma non è il tuo caso. Sembra che tu abbia una situazione in cui sarebbe preferibile disporre di un solo file HTML tutto incluso e autonomo. Le parti del documento (come i CSS) che possono essere separate ... beh, se qualcuno non sta attento nel trasmettere i file, saranno separati. E quindi il documento non "sembrerà giusto". Sembrerà rotto. Forse molto rotto, a seconda di quanto ti basi sui CSS. Quindi, con tutti i mezzi, incorpora i tuoi stili.

A parte le immagini e l'email

In HTML, le immagini vengono spesso lasciate esterne. Per i file veramente autosufficienti, ti piacerebbe che fossero inclusi anche tu. Questo è ora generalmente possibile se li basi64 li codifichi . Esiste una vecchia strategia alternativa, MHTML , per l'invio di immagini e altri contenuti tramite e-mail. Al giorno d'oggi, affermare direttamente i dati di base64 sembra essere meglio supportato, specialmente per la visualizzazione del browser.

Tuttavia, se codifichi l'HTML (rapporti, documenti, ecc.) per la posta elettronica (ad esempio, come messaggio email principale, anziché come allegati), fai attenzione . Questo è un po 'di arte oscura, anche oggi richiede un sacco di esperienza sui capricci dei diversi programmi di posta / end-point. Outlook vs Gmail vs. XYZ: possono essere molto diversi, non solo l'uno dall'altro, ma anche dall'HTML che useresti e si aspettano di funzionare correttamente sui loro prodotti browser. L'e-mail HTML è un diavolo difficile e non viene interpretato secondo le normali regole. I fogli di stile lì, per esempio, non sono raccomandati affatto, perché sono spesso intenzionalmente ignorati. Se vuoi modellare quelli, scrivi il tuo foglio di stile per comporre il tuo indirizzo email HTML, quindi usa una libreria per decostruire il tuo foglio di stile e impacchettare esplicitamente lo stile appropriato in attributi style . Vedi premailer per un esempio di una libreria che ti aiuta a definire l'e-mail HTML in un modo che sarà rispettato dal programma di posta medio .

    
risposta data 22.10.2014 - 18:08
fonte

Leggi altre domande sui tag