SlideShare a Scribd company logo
1 of 27
Download to read offline
Gmail's Responsive
Email Updates
What This Means For Your Email
@M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa
Welcome
Mark Robbins
Rebelmail
Justin Khoo
Email on Acid
Eric Lepetit
Nest
@M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa
Join the
conversation.
#GmailUpdates
Gmail before the updates
@M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa
• Gmail was the main reason why we inlined styles
• Didn’t support media queries
• iOS Gmail app increased your font size
• Non responsive Gmail App replaced responsive native Android App in 2015
• Inconsistencies between Gmail, Inbox, Android app, iOS app, G Suite, Images
off, and Gmail App with Non-Google Accounts (GANGA)
Gmail before the updates
@M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa
Source: Remi Parmentier
The New Gmail
@M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa
• Supports responsive email
• Supports embedded styles
• Gives responsibility for mobile experience back to designer
• More receptive to input from email community
• Documentation is available
What is now supported in Gmail
@M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa
• Embedded styles with classes and IDs (only in <head>)
• Media queries (max-width, min-width, max-device-width, min-device-width)
• Background-position & background-size
• :hover pseudoclass in Gmail webmail
• https://developers.google.com/gmail/design/reference/supported_css
Embedded CSS vs. Inline CSS
@M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa
Media Queries
@M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa
A block of CSS that is only active at certain client dimensions
• Display or hide elements in mobile
• Change layout - stack columns
• Increase font sizes
• Adjust padding and margins
@media only screen and (max-width:600px) {
.body { font-size:24px !important }
.topmenu { display: none !important }
.download-app { display: block !important }
}
@media only screen and (max-width:600px) {
.body { font-size:24px !important }
.topmenu { display: none !important }
.download-app { display: block !important }
}
Media Queries
@M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa
Example image
What is not supported in Gmail?
@M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa
Attribute selectors
• Example: div[class=”foo”], *[id^=”foo-”]
Common Webmail limitations
• Web fonts
• Animation, Transitions, Transforms
• Absolute/Fixed position
• Video
• External stylesheets
Pseudo-classes
• :checked
• :hover (on mobile apps and Inbox)
• Used for interactive email
Which Gmail clients have the update?
@M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa
✓ Desktop webmail
✓ Mobile webmail
✓ G Suite Basic (Google Apps For Work)
✓ Android app (Gmail account)
✓ Android app (Gmailified account)
✓ Inbox (Desktop webmail)
✓ Inbox (iOS app)
✓ Inbox (Android app)
✘ Google Apps Free Edition
✘ Gmail App with Non-Google
Accounts (POP/IMAP account)
✘ iOS app
Tips and Action Items
Get Your Emails Up to Speed
@M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa
Tip 1: Clean up attribute selectors
@M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa
Don’t mix classes and attribute selectors
.body { background-color: #000000; }
div[class=”body”] { color: #ffffff; }
Attribute selectors are no longer required inside media queries
(Yahoo! Mail fixed theirbug)
@media (max-width:600px){
div[class=”full-col”] { width: 100%!important }
}
You can use attribute selectors strategically, to hide content from Gmail.
Tip 2: Height → min-height in Inbox
@M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa
<img src="triangle.png" width="600" height="200"
style="display:block;width:100%;height:auto;">
Becomes
<img src="triangle.png" width="600" height="200"
style="display:block;width:100%;min-height:auto;">
Tip 3: Image blocking causes style issues
@M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa
<style>
.test{
background-image:url(.../image1.jpg);
}
</style>
<div class="test" style="background-image:url(.../image2.jpg);">
Test
</div>
<img src=".../image3.jpg">
Raw Code
Tip 3: Image blocking causes style issues
@M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa
<style>
div.m1577ab38264895f1 .m_-5859679698733932272test{
background-image:url();
}
</style>
<div class="m_-5859679698733932272test" style="background-
image:url();">
Test
</div>
<img src=" ">
With Images Blocked
Tip 3: Image blocking causes style issues
@M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa
<style>
div.m1577ab38264895f1 .m_-5859679698733932272test{
background-image:url();
}
</style>
<div class="m_-1608274971889655912test" style="background-
image:url(.../image2.jpg);">
Test
</div>
<img src=“.../image3.jpg">
With Images Downloaded
Tip 4: Embedded CSS Size Limit
@M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa
Currently, CSS character count is capped at 8,192 characters.
All CSS in <style> block is removed once the cap is reached.
Tips
Use multiple <style> blocks: Gmail will only strip out the one in
which the cap is reached.
Place CSS not for Gmail (e.g. animations) in separate <style>
block at the bottom of the <head> section.
Tip 5: Don’t remove Gmail layout hacks yet
@M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa
Gmail Android spacer hack
<img src="spacer.gif" height="1" width="600" style="display:block; width:600px;
min-width:600px;"/>
Gmail iOS font size hack
<div class=”gmailfix” style="white-space:nowrap; font:15px courier; color:#ffffff;">
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
</div>
Tip 5: Don’t remove Gmail layout hacks yet
@M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa
Gmail iOS “Font Boost”
Tip 6: Targeting Gmail and Inbox in your CSS
@M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa
<!DOCTYPE html>
<html><head>
<style>
u + .body .gmail-or-inbox{
display:block !important;
}
</style>
</head>
<body class="body">
<div class="gmail-or-inbox" style="display:none;">
THIS IS GMAIL OR INBOX</div>
</html>
Targeting Gmail and Inbox
Tip 6: Targeting Gmail and Inbox in your CSS
@M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa
<!DOCTYPE html>
<html><head>
<style>
u + .body section .gmail {
display:block !important;
}
u + .body > .inbox {
display:block !important;
}
</style>
</head>
Targeting Gmail or Inbox
<body class="body">
<section>
<div class="gmail“ style="display:none;">
THIS IS GMAIL</div>
<div class="inbox" style="display:none;">
THIS IS INBOX</div>
</section>
</body>
</html>
Discussion
How might these changes affect
email development?
@M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa
Do we still need to inline CSS?
Is hybrid fluid dead?
How will this impact
interactive email?
Q&A
Ask the experts.
@M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa
Still got email questions? Tweet them to us @emailonacid!

More Related Content

Viewers also liked

Institucional Empresas Fm Estacion 21 San Juan.
Institucional Empresas Fm Estacion 21 San Juan. Institucional Empresas Fm Estacion 21 San Juan.
Institucional Empresas Fm Estacion 21 San Juan.
Ricardo Fernández
 
Norte Parque Residencial Email Chl
Norte Parque Residencial   Email ChlNorte Parque Residencial   Email Chl
Norte Parque Residencial Email Chl
imoveisdorio
 
Sant mer, heroi del drac de banyoles
Sant mer, heroi del drac de banyolesSant mer, heroi del drac de banyoles
Sant mer, heroi del drac de banyoles
Berta
 
www.pharmagroup.it
www.pharmagroup.itwww.pharmagroup.it
www.pharmagroup.it
streamky
 
Ovario Poliquistico 2005
Ovario Poliquistico 2005Ovario Poliquistico 2005
Ovario Poliquistico 2005
rahterrazas
 
Cv ernst mayer 2016
Cv ernst mayer 2016Cv ernst mayer 2016
Cv ernst mayer 2016
Ernst Mayer
 
What is this DevOps thing and why do I need it?
What is this DevOps thing and why do I need it?What is this DevOps thing and why do I need it?
What is this DevOps thing and why do I need it?
Safe Swiss Cloud
 
KuehneNagel_Connect_Issue02_Print_FA
KuehneNagel_Connect_Issue02_Print_FAKuehneNagel_Connect_Issue02_Print_FA
KuehneNagel_Connect_Issue02_Print_FA
Nikki Taylor
 
Design Time and Run Time Governance
Design Time and Run Time Governance Design Time and Run Time Governance
Design Time and Run Time Governance
WSO2
 

Viewers also liked (20)

Xavier Giné - Educación financiera y participación financiera en países en de...
Xavier Giné - Educación financiera y participación financiera en países en de...Xavier Giné - Educación financiera y participación financiera en países en de...
Xavier Giné - Educación financiera y participación financiera en países en de...
 
How To Build A Business Online: Start With Why
How To Build A Business Online: Start With WhyHow To Build A Business Online: Start With Why
How To Build A Business Online: Start With Why
 
Reunião Programa de Ressignificação
Reunião Programa de RessignificaçãoReunião Programa de Ressignificação
Reunião Programa de Ressignificação
 
Institucional Empresas Fm Estacion 21 San Juan.
Institucional Empresas Fm Estacion 21 San Juan. Institucional Empresas Fm Estacion 21 San Juan.
Institucional Empresas Fm Estacion 21 San Juan.
 
Norte Parque Residencial Email Chl
Norte Parque Residencial   Email ChlNorte Parque Residencial   Email Chl
Norte Parque Residencial Email Chl
 
Sant mer, heroi del drac de banyoles
Sant mer, heroi del drac de banyolesSant mer, heroi del drac de banyoles
Sant mer, heroi del drac de banyoles
 
www.pharmagroup.it
www.pharmagroup.itwww.pharmagroup.it
www.pharmagroup.it
 
Ovario Poliquistico 2005
Ovario Poliquistico 2005Ovario Poliquistico 2005
Ovario Poliquistico 2005
 
Presentación FxBot
Presentación FxBotPresentación FxBot
Presentación FxBot
 
Flyer Master
Flyer MasterFlyer Master
Flyer Master
 
Designing and developing a Windows Phone 7 Silverlight Application End-to-End...
Designing and developing a Windows Phone 7 Silverlight Application End-to-End...Designing and developing a Windows Phone 7 Silverlight Application End-to-End...
Designing and developing a Windows Phone 7 Silverlight Application End-to-End...
 
A development of a coin slot prepayment system
A development of a coin slot prepayment systemA development of a coin slot prepayment system
A development of a coin slot prepayment system
 
Fighting Food Loss and Food Waste in Japan
Fighting Food Loss and Food Waste in JapanFighting Food Loss and Food Waste in Japan
Fighting Food Loss and Food Waste in Japan
 
Cv ernst mayer 2016
Cv ernst mayer 2016Cv ernst mayer 2016
Cv ernst mayer 2016
 
What is this DevOps thing and why do I need it?
What is this DevOps thing and why do I need it?What is this DevOps thing and why do I need it?
What is this DevOps thing and why do I need it?
 
Insectos Comestibles
Insectos ComestiblesInsectos Comestibles
Insectos Comestibles
 
Rendimiento(vlmbh)
Rendimiento(vlmbh)Rendimiento(vlmbh)
Rendimiento(vlmbh)
 
Como puedo ayudar a mis hijos
Como puedo ayudar a mis hijosComo puedo ayudar a mis hijos
Como puedo ayudar a mis hijos
 
KuehneNagel_Connect_Issue02_Print_FA
KuehneNagel_Connect_Issue02_Print_FAKuehneNagel_Connect_Issue02_Print_FA
KuehneNagel_Connect_Issue02_Print_FA
 
Design Time and Run Time Governance
Design Time and Run Time Governance Design Time and Run Time Governance
Design Time and Run Time Governance
 

Similar to [Webinar Slides] Gmail’s Responsive Email Updates

Beyond Email Open Rates: How to Unlock the Potential in Your Audience
Beyond Email Open Rates: How to Unlock the Potential in Your AudienceBeyond Email Open Rates: How to Unlock the Potential in Your Audience
Beyond Email Open Rates: How to Unlock the Potential in Your Audience
Kissmetrics on SlideShare
 

Similar to [Webinar Slides] Gmail’s Responsive Email Updates (20)

CSS Inlining in Email: What It IS + How To Do It
CSS Inlining in Email: What It IS + How To Do ItCSS Inlining in Email: What It IS + How To Do It
CSS Inlining in Email: What It IS + How To Do It
 
WebSG - HTML Email Newsletters
WebSG - HTML Email NewslettersWebSG - HTML Email Newsletters
WebSG - HTML Email Newsletters
 
Beyond Email Open Rates: How to Unlock the Potential in Your Audience
Beyond Email Open Rates: How to Unlock the Potential in Your AudienceBeyond Email Open Rates: How to Unlock the Potential in Your Audience
Beyond Email Open Rates: How to Unlock the Potential in Your Audience
 
Email Design Workshop - Don't Let Bad Email Code Ruin Your Day or Your Results
Email Design Workshop - Don't Let Bad Email Code Ruin Your Day or Your ResultsEmail Design Workshop - Don't Let Bad Email Code Ruin Your Day or Your Results
Email Design Workshop - Don't Let Bad Email Code Ruin Your Day or Your Results
 
Creating Email Campaigns that Work: A Focus on Design Elements
Creating Email Campaigns that Work: A Focus on Design ElementsCreating Email Campaigns that Work: A Focus on Design Elements
Creating Email Campaigns that Work: A Focus on Design Elements
 
Webinar: State of Email 2017
Webinar: State of Email 2017Webinar: State of Email 2017
Webinar: State of Email 2017
 
Everything You Need to Know About Gmail Rendering
Everything You Need to Know About Gmail RenderingEverything You Need to Know About Gmail Rendering
Everything You Need to Know About Gmail Rendering
 
What Brands Are Doing About Gmail Tabs
What Brands Are Doing About Gmail TabsWhat Brands Are Doing About Gmail Tabs
What Brands Are Doing About Gmail Tabs
 
IT230-Assignment 1 Solved.pdf
IT230-Assignment 1 Solved.pdfIT230-Assignment 1 Solved.pdf
IT230-Assignment 1 Solved.pdf
 
Email + Video: What Works, What Doesn't + What to Measure
 Email + Video: What Works, What Doesn't + What to Measure Email + Video: What Works, What Doesn't + What to Measure
Email + Video: What Works, What Doesn't + What to Measure
 
Dreamforce | ExactTarget Marketing Cloud: The Mobile Inbox 201 - Design and Code
Dreamforce | ExactTarget Marketing Cloud: The Mobile Inbox 201 - Design and CodeDreamforce | ExactTarget Marketing Cloud: The Mobile Inbox 201 - Design and Code
Dreamforce | ExactTarget Marketing Cloud: The Mobile Inbox 201 - Design and Code
 
5 Ways to Improve Your Email Campaigns (and Get Better Results)
5 Ways to Improve Your Email Campaigns (and Get Better Results)5 Ways to Improve Your Email Campaigns (and Get Better Results)
5 Ways to Improve Your Email Campaigns (and Get Better Results)
 
Responsive emails and ZURB Foundation for email
Responsive emails and ZURB Foundation for emailResponsive emails and ZURB Foundation for email
Responsive emails and ZURB Foundation for email
 
Wc philly 2012 presentation
Wc philly 2012 presentationWc philly 2012 presentation
Wc philly 2012 presentation
 
Responsive HTML Email with Drupal
Responsive HTML Email with DrupalResponsive HTML Email with Drupal
Responsive HTML Email with Drupal
 
Designed for Success: Optimizing the Email Experience
Designed for Success: Optimizing the Email ExperienceDesigned for Success: Optimizing the Email Experience
Designed for Success: Optimizing the Email Experience
 
Use Case: integrating a complex e-commerce site - Frenchtoday.com
Use Case: integrating a complex e-commerce site - Frenchtoday.comUse Case: integrating a complex e-commerce site - Frenchtoday.com
Use Case: integrating a complex e-commerce site - Frenchtoday.com
 
Making Your Site Look Great in IE7
Making Your Site Look Great in IE7Making Your Site Look Great in IE7
Making Your Site Look Great in IE7
 
Top 10 MailChimp Alternatives
Top 10 MailChimp Alternatives Top 10 MailChimp Alternatives
Top 10 MailChimp Alternatives
 
Techtalk
TechtalkTechtalk
Techtalk
 

Recently uploaded

Microsoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdfMicrosoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdf
Overkill Security
 

Recently uploaded (20)

Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
Vector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptxVector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptx
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Microsoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdfMicrosoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdf
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
الأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهلهالأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهله
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 

[Webinar Slides] Gmail’s Responsive Email Updates

  • 1. Gmail's Responsive Email Updates What This Means For Your Email @M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa
  • 2. Welcome Mark Robbins Rebelmail Justin Khoo Email on Acid Eric Lepetit Nest @M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa Join the conversation. #GmailUpdates
  • 3. Gmail before the updates @M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa • Gmail was the main reason why we inlined styles • Didn’t support media queries • iOS Gmail app increased your font size • Non responsive Gmail App replaced responsive native Android App in 2015 • Inconsistencies between Gmail, Inbox, Android app, iOS app, G Suite, Images off, and Gmail App with Non-Google Accounts (GANGA)
  • 4. Gmail before the updates @M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa Source: Remi Parmentier
  • 5. The New Gmail @M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa • Supports responsive email • Supports embedded styles • Gives responsibility for mobile experience back to designer • More receptive to input from email community • Documentation is available
  • 6. What is now supported in Gmail @M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa • Embedded styles with classes and IDs (only in <head>) • Media queries (max-width, min-width, max-device-width, min-device-width) • Background-position & background-size • :hover pseudoclass in Gmail webmail • https://developers.google.com/gmail/design/reference/supported_css
  • 7. Embedded CSS vs. Inline CSS @M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa
  • 8. Media Queries @M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa A block of CSS that is only active at certain client dimensions • Display or hide elements in mobile • Change layout - stack columns • Increase font sizes • Adjust padding and margins @media only screen and (max-width:600px) { .body { font-size:24px !important } .topmenu { display: none !important } .download-app { display: block !important } } @media only screen and (max-width:600px) { .body { font-size:24px !important } .topmenu { display: none !important } .download-app { display: block !important } }
  • 9. Media Queries @M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa Example image
  • 10. What is not supported in Gmail? @M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa Attribute selectors • Example: div[class=”foo”], *[id^=”foo-”] Common Webmail limitations • Web fonts • Animation, Transitions, Transforms • Absolute/Fixed position • Video • External stylesheets Pseudo-classes • :checked • :hover (on mobile apps and Inbox) • Used for interactive email
  • 11. Which Gmail clients have the update? @M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa ✓ Desktop webmail ✓ Mobile webmail ✓ G Suite Basic (Google Apps For Work) ✓ Android app (Gmail account) ✓ Android app (Gmailified account) ✓ Inbox (Desktop webmail) ✓ Inbox (iOS app) ✓ Inbox (Android app) ✘ Google Apps Free Edition ✘ Gmail App with Non-Google Accounts (POP/IMAP account) ✘ iOS app
  • 12. Tips and Action Items Get Your Emails Up to Speed @M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa
  • 13. Tip 1: Clean up attribute selectors @M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa Don’t mix classes and attribute selectors .body { background-color: #000000; } div[class=”body”] { color: #ffffff; } Attribute selectors are no longer required inside media queries (Yahoo! Mail fixed theirbug) @media (max-width:600px){ div[class=”full-col”] { width: 100%!important } } You can use attribute selectors strategically, to hide content from Gmail.
  • 14. Tip 2: Height → min-height in Inbox @M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa <img src="triangle.png" width="600" height="200" style="display:block;width:100%;height:auto;"> Becomes <img src="triangle.png" width="600" height="200" style="display:block;width:100%;min-height:auto;">
  • 15. Tip 3: Image blocking causes style issues @M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa <style> .test{ background-image:url(.../image1.jpg); } </style> <div class="test" style="background-image:url(.../image2.jpg);"> Test </div> <img src=".../image3.jpg"> Raw Code
  • 16. Tip 3: Image blocking causes style issues @M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa <style> div.m1577ab38264895f1 .m_-5859679698733932272test{ background-image:url(); } </style> <div class="m_-5859679698733932272test" style="background- image:url();"> Test </div> <img src=" "> With Images Blocked
  • 17. Tip 3: Image blocking causes style issues @M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa <style> div.m1577ab38264895f1 .m_-5859679698733932272test{ background-image:url(); } </style> <div class="m_-1608274971889655912test" style="background- image:url(.../image2.jpg);"> Test </div> <img src=“.../image3.jpg"> With Images Downloaded
  • 18. Tip 4: Embedded CSS Size Limit @M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa Currently, CSS character count is capped at 8,192 characters. All CSS in <style> block is removed once the cap is reached. Tips Use multiple <style> blocks: Gmail will only strip out the one in which the cap is reached. Place CSS not for Gmail (e.g. animations) in separate <style> block at the bottom of the <head> section.
  • 19. Tip 5: Don’t remove Gmail layout hacks yet @M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa Gmail Android spacer hack <img src="spacer.gif" height="1" width="600" style="display:block; width:600px; min-width:600px;"/> Gmail iOS font size hack <div class=”gmailfix” style="white-space:nowrap; font:15px courier; color:#ffffff;"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - </div>
  • 20. Tip 5: Don’t remove Gmail layout hacks yet @M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa Gmail iOS “Font Boost”
  • 21. Tip 6: Targeting Gmail and Inbox in your CSS @M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa <!DOCTYPE html> <html><head> <style> u + .body .gmail-or-inbox{ display:block !important; } </style> </head> <body class="body"> <div class="gmail-or-inbox" style="display:none;"> THIS IS GMAIL OR INBOX</div> </html> Targeting Gmail and Inbox
  • 22. Tip 6: Targeting Gmail and Inbox in your CSS @M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa <!DOCTYPE html> <html><head> <style> u + .body section .gmail { display:block !important; } u + .body > .inbox { display:block !important; } </style> </head> Targeting Gmail or Inbox <body class="body"> <section> <div class="gmail“ style="display:none;"> THIS IS GMAIL</div> <div class="inbox" style="display:none;"> THIS IS INBOX</div> </section> </body> </html>
  • 23. Discussion How might these changes affect email development? @M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa
  • 24. Do we still need to inline CSS?
  • 26. How will this impact interactive email?
  • 27. Q&A Ask the experts. @M_J_Robbins | @advenix | @ericlepetitsf | @geoff_eoa Still got email questions? Tweet them to us @emailonacid!