Alat apa yang secara otomatis menyebariskan gaya CSS untuk membuat kode HTML email? [Tutup]


122

Saat Anda melihat di http://www.campaignmonitor.com/css/ Anda mengetahui bahwa Anda perlu menyematkan gaya sebaris di HTML Anda, agar email Anda dapat dibaca di klien email mana pun.

Apakah Anda mengetahui alat atau skrip untuk mengonversi file HTML secara otomatis dengan dideklarasikan menjadi file HTML dengan hanya atribut gaya CCS sebaris?

Sunting : Ada solusi Javascript (yaitu: http://www.robertnyman.com/2006/04/24/get-the-rendered-style-of-an-element/ )? Dengan jQuery?


3
Saya baru saja mengajukan pertanyaan serupa tentang Rekomendasi Perangkat Lunak sebagai tindak lanjut dari pertanyaan ini: softwarerecs.stackexchange.com/questions/9983/…
Grzegorz Oledzki

Saya hanya harus menyelesaikan hal yang tepat ini untuk sebuah departemen di tempat kerja. Pertanyaan ini memberikan langkah-langkah yang diperlukan untuk menyelesaikan masalah.
Gopherkhan

Jawaban:


80

Periksa konverter online premailer.dialect.ca atau skrip Python ini untuk melakukannya.


10
Sepertinya Premailer dipindahkan ke URL baru: premailer.dialect.ca
Matt Huggins

2
Mail chimp menawarkan gaya inliner yang hebat di sini: beaker.mailchimp.com/inline-css
dhornbein

1
premailer.dialect.ca memang bagus, tetapi tersedak di banyak halaman. Ini lebih dari setengah dalam pengujian saya. Misalnya, coba halaman ini.
Nick Woodhams

Jalankan server premailer Anda sendiri ... github.com/TrackIF/premailer-server Mudah dijalankan di ec2: docs.aws.amazon.com/elasticbeanstalk/latest/dg/…
Adam Lane

TIDAK ADA dari mereka yang benar-benar menghapus tag GAYA, yang merupakan masalah utama yang akan Anda tangani
Coldstar

33

Berikut adalah daftar alat bantu inlining siap pakai berbasis web, beberapa telah disebutkan sebelumnya. Jika ada yang terlewat, silakan edit dan tambahkan. Saya tidak bisa menjanjikan setiap karya seperti yang diiklankan, jadi berikan komentar, tetapi jangan tembak pembawa pesan ...

Dan ini salah satu yang bekerja secara terbalik (un-inlining css Anda)


3
MailerMailer adalah satu-satunya yang berfungsi untuk saya sambil menjaga pemformatan tetap utuh.
Jeshurun



8

Saya menulis perpustakaan Node.js yang disebut Styliner yang CSS di Javascript sisi server.

Ini mendukung lembar gaya KURANG juga (dan mendukung plugin untuk format lain)


7

Anda mungkin ingin melihat PostageApp .

Salah satu fiturnya yang sangat kuat adalah ia memiliki sistem template yang sangat kuat yang dapat secara otomatis menyebariskan HTML dan CSS tanpa masalah apa pun.

( Pengungkapan Penuh: Saya Manajer Produk untuk PostageApp.)


jadi Anda melakukan CSS sebaris di akhir rantai pemrosesan (tepat sebelum mengirim email ke seseorang)?
zazi

6

Ini mungkin sedikit terlambat, tetapi jika Anda ingin membuat HTML Anda sebaik mungkin untuk pemasaran email (dengan menyebariskan css Anda, dan menggunakan sekumpulan alat keren lainnya), gunakan Premailer . Gratis, dan tentu saja, dibuat dalam kemitraan dengan CampaignMonitor itu sendiri.

Semoga membantu.


1 untuk Premailer. Itu memiliki formulir web dan API yang dapat Anda gunakan untuk mengintegrasikannya ke platform apa pun. Jika Anda menggunakan node.js, ada pembungkusnya di sini .
Jed Watson

6

Saya agak terlambat ke permainan tetapi semoga ini akan membantu seseorang.

Saya menemukan metode jQuery / javascript kecil yang bagus ini yang dapat disematkan ke halaman - http://devintorr.es/blog/2010/05/26/turn-css-rules-into-inline-style-attributes-using-jquery /

Saya telah mengeditnya sedikit untuk mendukung IE dan juga untuk mendukung halaman dengan beberapa file CSS terlampir menerapkan gaya dalam urutan yang benar.

$(document).ready(function ($) {
            var rules;
            for(var i = document.styleSheets.length - 1; i >= 0; i--){
                if(document.styleSheets[i].cssRules)
                    rules = document.styleSheets[i].cssRules;
                else if(document.styleSheets[i].rules)
                    rules = document.styleSheets[i].rules;
                for (var idx = 0, len = rules.length; idx < len; idx++) {
                    if(rules[idx].selectorText.indexOf("hover") == -1) {
                        $(rules[idx].selectorText).each(function (i, elem) {
                            elem.style.cssText = rules[idx].style.cssText + elem.style.cssText;
                        });
                    }
                }
            }
            $('style').remove();
            $('script').remove();
            $('link').remove();
        });

Halaman tersebut kemudian dapat disalin / ditempel ke badan email.


mengapa Anda menghapus skrip? Dan itu menghapus eksekusi yang saya pikir harus keluar dari for loop.
jcubic

@jcubic Anda benar: penempatan eksekusi hapus, saya akan mengedit. Penghapusan skrip ada di kode asli saya, saya ingin HTML yang lebih bersih hanya dengan apa yang benar-benar diperlukan untuk menampilkan halaman.
John C

Terima kasih banyak untuk skrip ringkas ini, saya telah mencari berjam-jam dan ini adalah solusi terbersih yang saya temukan.
kerzek

1
Berada di perahu yang sama dengan @kerzek. Ini berhasil sampai batas tertentu tetapi beberapa gaya menjadi kacau. Namun versi kode ini bekerja dengan sangat baik (teruji dan semuanya): devintorr.es/blog/2010/05/26/…
radu.luchian

5

Tidak cukup hanya sebariskan CSS Anda. Tidak ada standar yang diamati tentang bagaimana email HTML akan ditampilkan di klien email apa pun yang digunakan. Mereka semua melakukannya secara berbeda, dan semakin Anda mendesain email Anda, semakin besar kemungkinan email itu akan membobol lebih banyak klien. Banyak profesional di bidang ini hanya menggunakan gambar dan tabel dan mungkin beberapa warna latar belakang, tetapi tidak ada yang lain. Selalu sertakan tautan ke situs web yang memiliki salinan email yang berfungsi dan selalu berikan varian teks biasa.




Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.