CSS Inlining in Email: What It IS + How To Do It

83
litmus ® CSS Inlining in Email: What It Is + How To Do It

Transcript of CSS Inlining in Email: What It IS + How To Do It

Page 1: CSS Inlining in Email: What It IS + How To Do It

litmus ®

CSS Inlining in Email: What It Is + How To Do It

Page 2: CSS Inlining in Email: What It IS + How To Do It

litmus ® #ResponsiveEmail

Hello, I’m @KevinMandeville.

Page 3: CSS Inlining in Email: What It IS + How To Do It

litmus ® #ResponsiveEmail

I design + build emails at

Page 4: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Tweet

@litmusapp #LitmusLivewith any questions

Page 5: CSS Inlining in Email: What It IS + How To Do It

litmus ®

What is CSS?

Page 6: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

CSSCascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document written in a markup language.

Page 7: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Content <div>, <h1>, <p>

Style width, font-size, display

Interaction (JavaScript)

Page 8: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

It’s like a house.HTML is the actual foundation of what is contained in the house (floors, rooms, doors, television. etc.)

CSS is the styling of the actual items in the house (dimensions of the room, color of the walls, placement of the furniture, etc.)

JavaScript is the interaction you have with the house (ringing the door bell, turning on/off lights, etc.)

Page 9: CSS Inlining in Email: What It IS + How To Do It

litmus ®

3 Ways to Use CSS

Page 10: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

External Style Sheets <link>

Embedded CSS <style> in <head>

Inline CSS <div style=“width: 600px;”>

3 Ways to Use CSS

Page 11: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

External Style Sheets

Page 12: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

External Style Sheets<html> <head> <link rel="stylesheet" type="text/css" href=“style.css"> </head> <body> <!-- CONTENT --> </body> </html>

Page 13: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Embedded CSS<html> <head> <style type=“text/css”> /* CSS */ </style> </head> <body> <!-- CONTENT --> </body> </html>

Page 14: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Inline CSS<html> <head></head> <body>

<div style=“width: 600px;”> <h1 style=“font-size: 60px; line-height: 72px;”>Headline</h1> <p style=“color: #999;”>Lorem ipsum dolor</p> </div>

</body> </html>

Page 15: CSS Inlining in Email: What It IS + How To Do It

litmus ®

Why Inline CSS is Important for HTML Email

Page 16: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Apple Mail ✅

Lotus Notes ❌

Outlook 2000-2016 (Win + Mac) ✅

Thunderbird ❌

Android 4.x ✅

Gmail App (Android) ❌

iOS Mail (Every OS on iPhone + iPad) ✅

AOL Mail ❌

Gmail ❌

Inbox by Gmail ❌

Google Apps ❌

Office 365 ❌

Outlook.com ❌

Yahoo! Mail ❌

GMX ❌

Web.de ❌

External Style Sheet Support in HTML Email

Source: Litmus Email Analytics

Page 17: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

42%of email clients do not support external style sheets

Source: Litmus Email Analytics

Page 18: CSS Inlining in Email: What It IS + How To Do It

#LitmusLive

emailclientmarketshare.com

Page 19: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Apple Mail ✅

Lotus Notes ✅

Outlook 2000-2016 (Win + Mac) ✅

Thunderbird ✅

Android 4.x ✅

Gmail App (Android) ❌

iOS Mail (Every OS on iPhone + iPad) ✅

AOL Mail ✅

Gmail ❌

Inbox by Gmail ❌

Google Apps ❌

Office 365 ✅

Outlook.com ✅

Yahoo! Mail ✅

GMX ✅

Web.de ✅

Embedded CSS Support in HTML Email

Source: Litmus Email Analytics

*Based on class and id support, not element selectors

Page 20: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Gmail strips out any class or id in the <head>, requiring inline CSS.

Page 21: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

25%of email clients do not support embedded CSS

Source: Litmus Email Analytics

(Thanks, Gmail)

Page 22: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Apple Mail ✅

Lotus Notes ✅

Outlook 2000-2016 (Win + Mac) ✅

Thunderbird ✅

Android 4.x ✅

Gmail App (Android) ✅

iOS Mail (Every OS on iPhone + iPad) ✅

AOL Mail ✅

Gmail ✅

Inbox by Gmail ✅

Google Apps ✅

Office 365 ✅

Outlook.com ✅

Yahoo! Mail ✅

GMX ✅

Web.de ✅

Inline CSS Support in HTML Email

Source: Litmus Email Analytics

Page 23: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

100%of email clients support inline CSS

Source: Litmus Email Analytics

Page 24: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Not inlining CSS can have really small effects…

Page 25: CSS Inlining in Email: What It IS + How To Do It

#LitmusLive

Without Inline CSS With Inline CSS

###

Page 26: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

…or really BIG ones

Page 27: CSS Inlining in Email: What It IS + How To Do It

#LitmusLive

Without Inline CSS

$$$

Page 28: CSS Inlining in Email: What It IS + How To Do It

#LitmusLive

% With Inline CSS %$ Without Inline CSS $

Page 29: CSS Inlining in Email: What It IS + How To Do It

#LitmusLive

Without Inline CSS

&&&

Page 30: CSS Inlining in Email: What It IS + How To Do It

#LitmusLive

% With Inline CSS %& Without Inline CSS &

Page 31: CSS Inlining in Email: What It IS + How To Do It

#LitmusLive

Without Inline CSS

'''

Page 32: CSS Inlining in Email: What It IS + How To Do It

#LitmusLive

% With Inline CSS %' Without Inline CSS '

Page 33: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Don’t be that email. Inline your CSS.

Page 34: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Wait, do I have to do all of this by hand?!?!

Page 35: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Page 36: CSS Inlining in Email: What It IS + How To Do It

litmus ®

What is CSS inlining?

Page 37: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

CSS InliningCSS inlining is the automated process of moving external style sheets or embedded styles in the <head> right inline onto its corresponding HTML elements.

Page 38: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Takes external or embedded CSS…<html> <head> <style type=“text/css”> .headline { font-size: 60px; color: red; font-family: serif; } </style> </head> <body> <h1 class=“headline”>Headline</p> </body> </html>

Page 39: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

…and automatically inlines it for you

<html> <head> </head> <body> <h1 class=“headline” style=“font-size: 60px; color: red; font-family: serif;”>Headline</h1> </body> </html>

Page 40: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLiveSource: 2016 State of Email Production by Litmus

Page 41: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

73%of email designers and developers do not use CSS inlining

Source: 2016 State of Email Production by Litmus

Page 42: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Page 43: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Page 44: CSS Inlining in Email: What It IS + How To Do It

litmus ®

Tools for CSS inlining

Page 45: CSS Inlining in Email: What It IS + How To Do It

litmus ®

Third party inliner sites

Page 46: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Copy & paste your HTML into a third party site and convert your

code to inlined CSS.

Page 47: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

PutsMail Inliner

Page 48: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

MailChimp CSS Inliner

Page 49: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Campaign Monitor CSS Inliner

Page 50: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Zurb's Responsive Email Inliner

Page 51: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Premailer

Page 52: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

No learning curve or setup (simple copy & paste)

Use with any editor ✅

No maintenance required ✅

Requires Internet ❌

Constant copying & pasting (not ideal for iterative workflow)

Other automations not available (not ideal for iterative workflow)

No flexibility or customization ❌

Third party inliner sitesPROS CONS

Page 53: CSS Inlining in Email: What It IS + How To Do It

litmus ®

Task runners with open source CSS inliners

Page 54: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Page 55: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Grunt Gulp

Task runners

Page 56: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Lee Munroe’s Grunt Email Workflow

Page 57: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Setup

Page 58: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

SetupInstall Node.js ✅

Install Grunt-cli and Grunt (npm install grunt-cli -g)

Setup Mailgun, Litmus, Rackspace Cloud (optional) ✅

Setup necessary packages: git clone https://github.com/leemunroe/grunt-email-workflow.git cd grunt-email-workflow npm install

Create secrets.json in your project root ✅

Run grunt in command line and check /dist folder to see inlined

emails✅

Page 59: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Grunt

Page 60: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

How It WorksCompiles SCSS to CSS

Compiles Handlebars (templating language) to HTML

Inlines CSS using Juice

Generates Browser preview and sends test emails (if setup)

Page 61: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Juice Inliner

Page 62: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Roadie Inliner

Page 63: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Premailer Inliner

Page 64: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Use with any editor ✅

Use locally (Internet not needed and easy to create backups on GitHub,

Dropbox, etc.)✅

Complete flexibility & customization (add other automations)

DRY (Don’t Repeat Yourself) ✅

Learning curve (Requires command line and JavaScript knowledge)

Dependencies ❌

Requires maintenance ❌

Task runners with open source inlinersPROS CONS

Page 65: CSS Inlining in Email: What It IS + How To Do It

litmus ®

CSS inlining in Litmus Builder

Page 66: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Just a simple toggle

Page 67: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Click to copy & paste or download compiled HTML

Page 68: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

No learning curve or setup (just a simple toggle)

No maintenance required ✅

Best CSS inliner ever made for email ✅

Litmus Instant Previews integration ✅

DRY (Don’t Repeat Yourself) ✅

Requires Internet ❌

No flexibility or customization ❌

Does not work with any editor (requires Litmus Builder)

Only inlines embedded CSS ❌

CSS inlining in Litmus BuilderPROS CONS

Page 69: CSS Inlining in Email: What It IS + How To Do It

litmus ®

Which CSS inliner is best?

Page 70: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Most CSS inliners were not built specifically for HTML email

Page 71: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Email Development Newsletter #2: CSS Inliners Julie Ng outlines the dangers of CSS inlining

Page 72: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Email Development Newsletter #2: CSS Inliners Julie Ng recommends Roadie as the best CSS inliner for HTML email

Page 73: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

The Perfect Email CSS Inliner Mosaic.io ranks Litmus Builder/PutsMail as the #1 CSS inliner for HTML email

Page 74: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

Never re-orders or converts CSS in any way ✅

Preserves media queries, web fonts, and animation ✅

Preserves Outlook conditional comments ✅

Preserves pseudo selectors ✅

Preserves character entities ✅

CSS inliner in Litmus Builder/PutsMail

Preserves CSS comments for unlined CSS ✅

Preserves duplicate properties ✅

Prevents CSS from being inlined with data-ignore-inlining attribute ✅

Litmus Instant Previews integration ✅

DRY (Don’t Repeat Yourself) ✅

Page 75: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

1. Litmus Builder/PutsMail ✅

2. Roadie ✅

3. Juice ✅

Our top recommended CSS inliners for HTML email

*Varies on use case (this ranking is of straight HTML, not accounting for ESP-specific use cases)

Page 76: CSS Inlining in Email: What It IS + How To Do It

litmus ®

* DEMO *

Page 77: CSS Inlining in Email: What It IS + How To Do It

litmus ®

Tools + Resources

Page 78: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

litmus.com/community

Page 79: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

litmus.com/scope

Page 80: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

litmusbuilder.com

Page 81: CSS Inlining in Email: What It IS + How To Do It

litmus ® #LitmusLive

litmus.com

Page 82: CSS Inlining in Email: What It IS + How To Do It

litmus ®

Next webinar:How to Automate Your Email Development

Workflow with Litmus Builder

Wednesday, September 7th @ 1PM EDT

Page 83: CSS Inlining in Email: What It IS + How To Do It

litmus ®

Q&A7-day free trial of Litmus use coupon code:

CSSINLINING

litmus.com/giftcard