Кто-нибудь получил HTML-письма, работающие с Twitter Bootstrap?
Я использую premailer-rails3
gem, который тянет стили inline для html-писем, и я пытаюсь заставить его работать с Twitter bootstrap.
https://github.com/fphilipe/premailer-rails3
похоже, что некоторые стили приходят правильно, но не все из них. Мне интересно, есть ли у кого-нибудь хороший рабочий пример получения их Twitter Bootstrap css (модифицированный или нет) в html-письме.
спасибо!
8 ответов:
Если вы имеете в виду "могу ли я использовать стилистическое представление Bootstrap в электронном письме?- тогда можешь, хотя я еще не знаю никого, кто бы это сделал. Вам нужно будет перекодировать все в таблицах, хотя.
Если вы после функции, это зависит от того, где ваши письма просматриваются. Если значительная часть ваших пользователей находится в Outlook, Gmail, Yahoo или Hotmail (и они обычно составляют около 75% почтовых клиентов), то много хорошего Bootstrap невозможно. Почта Mac, почта iOS и Gmail на Android намного лучше в рендеринге CSS, поэтому, если вы ориентируетесь в основном на мобильные устройства, это не так уж плохо.
- JavaScript-полностью вне пределов. Если вы попытаетесь, вы, вероятно, отправитесь прямо в почтовый ад (a.k.a. SPAM folder). Это означает, что LESS также выходит за рамки, хотя вы, очевидно, можете использовать полученные стили CSS, если хотите.
- встроенный CSS намного безопаснее использовать, чем любой другой тип CSS (встроенный возможен, связанный определенно нет). Медиа-запросы возможны, поэтому вы можете иметь какой-то адаптивный дизайн. Однако существует длинный список атрибутов CSS, которые не работают - по сути, модель box в значительной степени не поддерживается в почтовых клиентах. Вам нужно структурировать все с помощью таблиц.
font-face
- вы можете использовать только внешние изображения. Все остальные внешние ресурсы (файлы CSS, шрифты) исключены.- глифы и спрайты-из-за странной реализации Outlook 2007 фон-изображения (VML), вы не можете использовать фон-повтор или положение.
- псевдо-селекторы невозможны-например
:hover
,:active
состояния не могут быть стилизованы отдельноздесь инагрузкинаответыon Итак, и много других ссылок в интернете по адресу большой.
Я прошу прощения за восстановление этой старой темы, но я просто хотел, чтобы все знали, что есть очень близкий Bootstrap, такой как CSS framework, специально созданный для стилизации электронной почты, вот ссылка:http://zurb.com/ink/
надеюсь, что это поможет кому-то.
Ninja edit: С тех пор он был переименован в
Foundation for Emails
и новая ссылка:https://foundation.zurb.com/emails.html
вот несколько вещей, которые вы не можете делать с электронной почтой:
- включить раздел со стилями. Apple Mail.приложение поддерживает его, но Gmail и Hotmail этого не делают, так что это нет-нет. На Hotmail будет поддерживать раздел стиля в теле, но Gmail по-прежнему не делает.
- ссылка на внешнюю таблицу стилей. не многие почтовые клиенты поддерживают это, лучше просто забыть об этом.
- фон-изображение / Фон-положение. Gmail также является виновником на этом.
- очистить поплавки. Снова Gmail.
- рентабельность. Да, серьезно, Hotmail игнорирует поля. В принципе любое позиционирование CSS вообще не работает.
- шрифт-ничего. Скорее всего, Eudora будет игнорировать все, что вы пытаетесь объявить со шрифтами.
источник: http://css-tricks.com/using-css-in-html-emails-the-real-story/
Mailchimp имеет шаблоны электронной почты, которые вы можете использовать -здесь
еще несколько ресурсов, которые должны помочь вам
вы можете использовать это https://github.com/advancedrei/BootstrapForEmail для b-обвязки вашей электронной почты.
недавно я потратил некоторое время на создание шаблонов электронной почты html, лучшим решением, которое я нашел, было использовать это http://htmlemailboilerplate.com/. с тех пор я построил 3 довольно сложных шаблона, и они хорошо работали в различных почтовых клиентах.
Привет Брайан Армстронг, посетите этой ссылке.
этот блог рассказывает вам, как интегрировать рейлинги С Bootstrap меньше (используя premailer-rails).
Если вы используете bootstrap sass, вы можете сделать то же самое:
начните с импорта некоторых загрузочных файлов sass в электронную почту.стиль CSS.СКС
@import "bootstrap-sprockets"; @import "bootstrap/variables"; @import "bootstrap/mixins"; @import "bootstrap/scaffolding"; @import "bootstrap/type"; @import "bootstrap/buttons"; @import "bootstrap/alerts"; @import 'bootstrap/normalize'; @import 'bootstrap/tables'; @import 'bootstrap/progress-bars';
а потом на ваш взгляд добавить
<%= stylesheet_link_tag "email" %>
лучший подход, который я придумал, - это использовать импорт Sass на выбранной основе, чтобы вытащить ваши стили bootstrap (или любые другие) в электронные письма, которые могут потребоваться.
во-первых, создайте новый родительский файл scss что-то вроде
email.scss
для вашего стиля письма. Это может выглядеть так:// Core variables and mixins @import "css/main/ezdia-variables"; @import "css/bootstrap/mixins"; @import "css/main/ezdia-mixins"; // Import base classes @import "css/bootstrap/scaffolding"; @import "css/bootstrap/type"; @import "css/bootstrap/buttons"; @import "css/bootstrap/alerts"; // nest conflicting bootstrap styles .bootstrap-style { //use single quotes for nested imports @import 'css/bootstrap/normalize'; @import 'css/bootstrap/tables'; } @import "css/main/main"; // Main email classes @import "css/email/zurb"; @import "css/email/main";
затем в шаблонах электронной почты, только ссылаться на скомпилированную электронную почту.css-файл, который содержит только выбранные стили начальной загрузки, на которые ссылаются и которые правильно вложены в ваш электронная почта.СКС.
например, некоторые стили начальной загрузки будут конфликтовать с адаптивным стилем таблицы Zurb. Чтобы исправить это, вы можете вложить стили bootstrap в родительский класс или другой селектор, чтобы вызывать стили таблиц bootstrap только при необходимости.
таким образом, у вас есть гибкость, чтобы тянуть в классы только при необходимости. Вы увидите, что я использую
http://zurb.com/
который является большой отзывчивый библиотека электронной почты для использования. Смотрите такжеhttp://zurb.com/ink/
наконец, используйте предварительный отправитель, например
https://github.com/fphilipe/premailer-rails3
упомянутый выше, чтобы обработать стиль в встроенный css, компиляция встроенных стилей только для того, что используется в этом конкретном шаблоне электронной почты. Например, для premailer ваш файл ruby может выглядеть примерно так, чтобы скомпилировать электронное письмо в встроенный стиль.require 'rubygems' # optional for Ruby 1.9 or above. require 'premailer' premailer = Premailer.new('http://www.yourdomain.com/TestSnap/view/emailTemplates/DeliveryReport.jsp', :warn_level => Premailer::Warnings::SAFE) # Write the HTML output File.open("delivery_report.html", "w") do |fout| fout.puts premailer.to_inline_css end # Write the plain-text output File.open("output.txt", "w") do |fout| fout.puts premailer.to_plain_text end # Output any CSS warnings premailer.warnings.each do |w| puts "#{w[:message]} (#{w[:level]}) may not render properly in #{w[:clients]}" end
надеюсь, что это помогает! Мы изо всех сил пытались найти гибкую структуру шаблонов электронной почты в Pardot, Salesforce и встроенных автоматических ответах и ежедневных электронных письмах нашего продукта.
трюк здесь заключается в том, что вы не хотите включать весь bootstrap. Проблема в том, что почтовые клиенты будут игнорировать медиа-запросы и обрабатывать все стили печати, которые имеют много !важное заявление.
вместо этого вам нужно включить только определенные части bootstrap, которые вам нужны. Моя электронная почта.стиль CSS.SCSS файл выглядит так:
@import "bootstrap-sprockets"; @import "bootstrap/variables"; @import "bootstrap/mixins"; @import "bootstrap/scaffolding"; @import "bootstrap/type"; @import "bootstrap/buttons"; @import "bootstrap/alerts"; @import 'bootstrap/normalize'; @import 'bootstrap/tables';