Property device
One of the ideas behind responsive email is that you can include or exclude
content based on the device on which the email is opened. That is exactly
what the device
property is for. This is a properted nested inside the
visibility
property,
and that accepts a string value to specify whether the content should be
visible when the email is opened on a mobile device and/or on a desktop computer.
Supported values for the device
property
Value | Desc. | |
---|---|---|
"always" | default | The block is always visible, on all possible screen sizes. |
"desktop" | The block is only visible on big, desktop like, screen sizes. | |
"mobile" | The block is only visible on small, mobile like, screen sizes. |
Email client support
Under the hood, the device
property is translated into CSS @media
queries.
Most modern time email clients and web browsers support this, so for most
email clients the setting is respected and your content becomes visible
or is hidden when you want it to.
However, not all email clients respect or support media queries. Some of them are simply too old and were built when media queries were not even invented, while others simply strip the CSS code from the mail. This means that there are always exceptional cases where specific device specific content still appears in the mail, even when the mail is opened on a completely different device.
Example
Mobile devices have small screens, and often use low bandwidth Internet
connections. Using high resolution images is then not always a good practice.
With the device
property you can leave these hires images out if the mail is
opened on a mobile device.
{
"from" : "info@example.com",
"subject" : "Mail with hires images hidden on mobile devices",
"content" : {
"blocks" : [ {
"type" : "text",
"content" : "<p>Introduction paragraph</p>"
}, {
"type" : "image",
"src" : "http://www.example.com/hires-image.jpg",
"visibility" : {
"device" : "desktop"
}
}, {
"type" : "image",
"src" : "http://www.example.com/lores-image.jpg",
"visibility" : {
"device" : "mobile"
}
} ]
}
}
Found a typo?
You can find this documentation page on GitHub.
Propose a change