Columns block
One of the most powerful block types that the ResponsiveEmail API offers,
is the block of type columns
. This block type allows you to split
your mailing up into two to twelve different columns, and fill these columns
with content.
A columns
block is a regular type of block, just like a text block,
image block
or button block,
and can therefore be used in the same places as these other blocks can be used,
and it also supports the same sort of properties as these other blocks do
(for example the background
and container
properties).
There is however a difference; a columns
block itself is also a content
container, and you can add additional blocks inside it, for example the text
and image
.
{
"from" : "info@example.com",
"subject" : "Mail with two columns",
"content" : {
"blocks" : [ {
"type" : "text",
"source" : "Leading text that spans all columns"
}, {
"type" : "columns",
"background" : {
"color" : "yellow"
},
"columns" : [ {
// your left column data
}, {
// your right column data
} ]
} ]
}
}
The above example shows a simple email, with a normal content
property that holds the 580px wide center content. Inside this centered content
section, an array of blocks is placed. The first block is a regular text block,
but the second block is a block of type columns
. The columns
block is a
regular block and that it supports the same sort of properties as any other block,
for example the background
property. The most important property of the columns
block is the columns
property,
which holds an array of objects that are contained in the columns. See our
documentation of the columns property
for a description of the properties that can be set for each column.
Up to twelve different columns
The columns
property
may hold up to twelve entries. Internally, a twelve cells wide fluid grid is used
to render the email. By default, the Responsive Email API gives every column the
same width. This can overridden by setting the size
property for each column. For an example, see the documentation of the nested
columns
property. It
is permitted to use multiple columns
block inside a mail. The following example
shows an email whose top part is split in two columns holding two images,
followed by some text that takes up the entire width of the mail, followed by
three columns each holding a button.
{
"from" : "info@example.com",
"subject" : "Mail with multiple columns columns",
"content" : {
"blocks" : [ {
"type" : "columns",
"columns" : [ {
"blocks" : [ {
"type" : "image",
"src" : "http://www.example.com/image1.gif"
} ]
}, {
"blocks" : [ {
"type" : "image",
"src" : "http://www.example.com/image2.gif"
} ]
} ]
}, {
"type" : "text",
"source" : "text that spans all columns"
}, {
"type" : "columns",
"columns" : [ {
"blocks" : [ {
"type" : "button",
"label" : "Left button"
} ]
}, {
"blocks" : [ {
"type" : "button",
"label" : "Center button"
} ]
}, {
"blocks" : [ {
"type" : "button",
"label" : "Right button"
} ]
} ]
} ]
}
}
Responsive behavior
When an email is displayed on a large screen, the columns are displayed as you would expect: next to each other. On smaller screens, like mobile devices, the contents of columns could be displayed on top of each other. To see this in action, go to our online json editor that is already preloaded with a template containing two columns. You can switch this editor to mobile-mode to make the columns appear on top of each other.
One final warning: although a columns
block is a regular block and has the
same behavior as the other blocks, it is not possible to place blocks of type
columns
inside other columns
blocks. A columns
block can only be placed
inside the main content section.
Supported properties
As we explained above, the columns
block is a regular block, and
supports many of the properties that other blocks also support.
Columns block top level properties
Property | Value | Desc. |
---|---|---|
type | "columns" | Property to identify block as a columns block. |
columns | JSON array | A JSON array containing JSON objects. These objects should contain another JSON array names blocks . |
background | object | The background of all the columns. |
Found a typo?
You can find this documentation page on GitHub.
Propose a change