แนวทางที่ดีที่สุดที่ฉันคิดขึ้นมาคือการใช้การนำเข้า Sass บนพื้นฐานที่เลือกเพื่อดึงสไตล์ bootstrap (หรืออื่น ๆ ) ลงในอีเมลตามความจำเป็น
ขั้นแรกสร้างไฟล์หลัก scss ใหม่email.scss
ตามสไตล์อีเมลของคุณ สิ่งนี้อาจมีลักษณะดังนี้:
@import "css/main/ezdia-variables";
@import "css/bootstrap/mixins";
@import "css/main/ezdia-mixins";
@import "css/bootstrap/scaffolding";
@import "css/bootstrap/type";
@import "css/bootstrap/buttons";
@import "css/bootstrap/alerts";
.bootstrap-style {
@import 'css/bootstrap/normalize';
@import 'css/bootstrap/tables';
}
@import "css/main/main";
@import "css/email/zurb";
@import "css/email/main";
จากนั้นในเทมเพลตอีเมลของคุณให้อ้างอิงเฉพาะไฟล์ email.css ที่คอมไพล์ของคุณซึ่งมีเฉพาะสไตล์ bootstrap ที่เลือกอ้างอิงและซ้อนกันอย่างถูกต้องใน email.scss ของคุณ
ตัวอย่างเช่นรูปแบบ bootstrap บางรูปแบบจะขัดแย้งกับสไตล์ตารางที่ตอบสนองของ Zurb ในการแก้ไขปัญหานี้คุณสามารถซ้อนสไตล์ของ bootstrap ภายในคลาสพาเรนต์หรือตัวเลือกอื่น ๆ เพื่อเรียกสไตล์ตารางของ bootstrap เมื่อจำเป็นเท่านั้น
ด้วยวิธีนี้คุณจะมีความยืดหยุ่นในการเข้าร่วมชั้นเรียนเมื่อจำเป็นเท่านั้น คุณจะเห็นว่าฉันใช้http://zurb.com/
ซึ่งเป็นไลบรารีอีเมลตอบสนองที่ยอดเยี่ยมในการใช้ ดูสิ่งนี้ด้วยhttp://zurb.com/ink/
สุดท้ายให้ใช้ premailer https://github.com/fphilipe/premailer-rails3
ดังที่กล่าวไว้ข้างต้นเพื่อประมวลผลสไตล์เป็น inline css รวบรวมสไตล์อินไลน์เฉพาะสิ่งที่ใช้ในเทมเพลตอีเมลนั้น ๆ ตัวอย่างเช่นสำหรับผู้ส่งอีเมลล่วงหน้าไฟล์ทับทิมของคุณอาจมีลักษณะเช่นนี้เพื่อรวบรวมอีเมลในรูปแบบอินไลน์
require 'rubygems'
require 'premailer'
premailer = Premailer.new('http://www.yourdomain.com/TestSnap/view/emailTemplates/DeliveryReport.jsp', :warn_level => Premailer::Warnings::SAFE)
File.open("delivery_report.html", "w") do |fout|
fout.puts premailer.to_inline_css
end
File.open("output.txt", "w") do |fout|
fout.puts premailer.to_plain_text
end
premailer.warnings.each do |w|
puts "#{w[:message]} (#{w[:level]}) may not render properly in #{w[:clients]}"
end
หวังว่านี่จะช่วยได้! พยายามหากรอบการสร้างเทมเพลตอีเมลที่ยืดหยุ่นใน Pardot, Salesforce และการตอบกลับอัตโนมัติและอีเมลรายวันในผลิตภัณฑ์ของเรา